Le fonctionnement de la base de données est l'une des parties de développement indispensables du développement actuel du système, en particulier à l'ère actuelle du Big Data, les bases de données sont particulièrement importantes. Mais comprenez-vous vraiment comment Java et Database sont connectés?
Permettez-moi d'abord de vous donner un exemple simple de connexion à la base de données:
package com.java.dbtest; import java.sql.connection; Importer Java.Sql.DiverManager; Importer java.sql.PreparedStatement; import java.sql.resultSet; import java.sql.sqlexception; classe publique TestConnection implémente DBTest {public void SelectUser () {// Définissez le pilote de base de données, l'adresse de connexion de la base de données, le port, le nom, le nom d'utilisateur, le mot de passe, la chaîne drivername = "oracle.jdbc.driver.oracledriver"; String url = "jdbc: oracle: mince: @localhost: 1521: bjPowerNode"; // Test est le nom de la base de données, 1521 est le port par défaut pour se connecter à la chaîne de base de données user = "System"; // aa est le nom d'utilisateur String password = "bjPowerNode"; // 123 est le mot de passe préparé Pstmt = null; ResultSet rs = null; // Connexion de connexion de la base de données CONNACTION Conn = null; essayez {// refléter Oracle Database Driver Class Class.Forname (drivername); // Obtenez la connexion de la base de données Conn = driverManager.getConnection (URL, utilisateur, mot de passe); // Sortie de connexion de la base de données System.out.println (Conn); // Personnaliser la chaîne de commande sql sql = "select * from t_user où user_id =?"; // Créer un objet préparé PréparedStatement sous cette connexion PSTMT = Conn.Preparestatement (SQL); // passe la première racine de valeur du paramètre, au lieu du premier point d'interrogation PSTMT.SetString (1, "root"); // Exécuter l'instruction de requête et enregistrer les données dans l'objet ResultSet RS = PSTMT.ExecuteQuery (); // Déplacez le pointeur vers la ligne suivante pour déterminer s'il existe des données dans RS if (Rs.Next ()) {// Sortie de résultat System.out.println ("Query Named [" + Rs.GetString ("User_ID") + "】, son mot de passe est:" + Rs.GetStRing ("mot de passe")); } else {// Output Query Result System.out.println ("Aucune information avec le nom d'utilisateur [" + Rs.getString ("user_id") + "] n'a pas été trouvée"); }} catch (classNotFoundException e) {e.printStackTrace (); } catch (sqlexception e) {e.printStackTrace (); } enfin {try {if (rs! = null) {Rs.close (); } if (pstmt! = null) {pstmt.close (); } if (conn! = null) {conn.close (); }} catch (sqlexception e) {e.printStackTrace (); }}} public static void main (String [] args) {new TestConnection (). SelectUser (); }}}Dans la fonction principale, cliquez avec le bouton droit et sélectionnez "Exécuter" => "Application Java" et le bloc de programme sera exécuté. Dans la console, vous pouvez voir le résultat de l'exécution. Si vous donnez une chaîne similaire à "oracle.jdbc.driver.t4cconnection@7c242f04", cela signifie que vous vous êtes connecté avec succès. Les résultats de l'opération sont présentés sur la figure:
Dissolons brièvement cette procédure.
Ce programme est un exemple de connexion Java à la base de données Oracle. Il utilise JDBC pour terminer le fonctionnement de la connexion à la base de données, il est donc nécessaire d'introduire OJDBC14.jar. Avant l'opération, vous devez d'abord obtenir l'objet de la classe de pilote de base de données et obtenir l'objet de connexion de la base de données via l'objet Driver.
Class.forname (drivername) est utilisé pour charger le pilote en appliquant le mécanisme de réflexion de la classe. La classe DriverManager est la couche de gestion de JDBC, agissant entre les utilisateurs et les pilotes. Il suit les pilotes disponibles et établit une connexion entre la base de données et le pilote correspondant.
Généralement, il vous suffit d'utiliser la méthode driverManager.getConnection directement dans la classe pour établir une connexion avec la base de données.
L'interface PreadStatement hérite de l'instruction et est une classe utilisée pour effectuer des opérations de base de données. PréparetStatement est beaucoup plus efficace que la déclaration lorsqu'elle est appelée plusieurs fois, de nombreuses personnes préconisent d'utiliser Preadstatement au lieu d'une déclaration.
Dans le billet de blog suivant, je présenterai ce point en détail "une compréhension approfondie de la déclaration et de la mise en scène". PréparetStatement peut être considéré comme une classe de commande dans .NET.
L'interface de résultat est apparue dans de nombreuses langues, et il stocke principalement les données interrogées. Après chaque requête, la méthode suivante () est généralement utilisée dans la langue Java pour lire les données.