Comment se connecter à une base de données en Java? - Tutoriel JDBC



Cet article vous expliquera comment connecter la base de données MySQL en Java. JDBC est l'une des API Java standard pour la connectivité indépendante des bases de données entre Java et un large éventail de bases de données.

, étant l'un des langages de programmation les plus importants, fournit un support étendu aux bases de données. Cela nous aide à nous connecter à diverses bases de données via (Connectivité de base de données Java). Dans cet article, je vais vous expliquer comment vous connecter à une base de données et exécuter des requêtes à l'aide de JDBC.

Les sujets ci-dessous sont traités dans cet article:





Introduction à JDBC

JDBC est l'une des API Java standard pour la connectivité indépendante de la base de données entre les et un large éventail de bases de données.Cette API vous permet d'encoder les instructions de demande d'accès, en Langage de requêtes structurées (SQL). Cetteconsiste principalement à ouvrir une connexion, à créer une base de données SQL, à exécuter des requêtes SQL et à arriver à la sortie.

L'API JDBC peut être utilisée pour accéder aux données tabulaires stockées dans n'importe quelle base de données relationnelle. Avec cela, vous pouvez mettre à jour, enregistrer, récupérer et supprimer les données des bases de données. Il est similaire à l'Open Database Connectivity (ODBC) fourni par Microsoft.



Pour mieux comprendre le fonctionnement de JDBC, approfondissons le sujet et comprenons l’architecture qui se cache derrière la connectivité de base de données Java.

Composants JDBC communs

L'API JDBC fournit les interfaces et classes suivantes & moins

  • DriverManager: Ceci est principalement utilisé pour gérer une liste de pilotes de base de données. Le pilote qui reconnaît un certain sous-protocole sera utilisé pour établir une connexion à la base de données.



  • Le conducteur est une interface qui gère les communications avec le serveur de base de données. Il résume également les détailsqui sont associés lors de l'utilisation des objets Pilote.

  • Une connexion est une interface qui comprend toutes les méthodes requises pour se connecter à une base de données. L'objet de connexion traite des fonctions de communication de la base de données. le contexte.

Passons maintenant à la rubrique suivante et examinons les étapes requises pour créer une application JDBC.

Étapes pour créer une application JDBC

Pour créer une application JDBC, vous devez suivre quelques étapes. Voyons ce qu’ils sont.

Étapes pour créer une application JDBC - Tutoriel Java avancé - Edureka

  1. Importez les packages: Vous devez inclure tous les packages contenant les classes JDBC nécessaires pour programmation de base de données . Le plus souvent, en utilisant import java.sql. * suffira.

  2. Enregistrez le pilote JDBC: Ici, vous devez initialiser un pilote pour pouvoir ouvrir un canal de communication avec la base de données.

  3. Ouvrez une connexion: Ici, vous pouvez utiliser le getConnection () pour créer un objet Connection, qui représente une connexion physique avec la base de données.

  4. Exécutez une requête: Cela nécessite en fait d'utiliser un objet de type Statement pour créer et soumettre une instruction SQL à la base de données.

  5. Extraire les données de l'ensemble de résultats: Il est suggéré d'utiliser les getXXX () méthode pour récupérer les données de l'ensemble de résultats.

    différence entre la surcharge de méthode et le remplacement en java
  6. Nettoyez l'environnement: Ici, il est essentiel defermez explicitement toutes les ressources de la base de données plutôt que de compter sur le garbage collection de la JVM.

Maintenant que vous avez vu les différentes étapes de création d'une application JDBC, voyons un exemple de code pour créer une base de données et établir une connexion.

package Edureka import java.sql. * import java.sql.DriverManager public class Exemple {// Nom du pilote JDBC et URL de la base de données static final String JDBC_DRIVER = 'com.mysql.jdbc.Driver' static final String DB_URL = 'jdbc: mysql: // localhost / emp '// Informations d'identification de la base de données static final String USER =' root 'static final String PASS =' 'public static void main (String [] args) {Connection conn = null Statement stmt = null try {// ÉTAPE 2 : Enregistrez le pilote JDBC Class.forName ('com.mysql.cj.jdbc.Driver') // ÉTAPE 3: Ouvrez une connexion System.out.println ('Connexion à la base de données ...') conn = DriverManager.getConnection (DB_URL , 'root', '') // ÉTAPE 4: Exécuter une requête System.out.println ('Creating statement ...') stmt = conn.createStatement () String sql sql = 'SELECT id, first, last, age FROM Ensemble de résultats des employés rs = stmt.executeQuery (sql) // ÉTAPE 5: Extraire les données de l'ensemble de résultats while (rs.next ()) {// Récupérer par nom de colonne int id = rs.getInt ('id') int age = rs.getInt ('age') Chaîne d'abord = rs.getString ('first') Chaîne last = rs.getString ('last') // Afficher les valeurs System.out.print ('ID:' + id) System.out.print (', Age:' + age) System.out.print (', First : '+ first) System.out.println (', Last: '+ last)} // ÉTAPE 6: Nettoyage de l'environnement rs.close () stmt.close () conn.close ()} catch (SQLException se) {// Gérer les erreurs pour JDBC se.printStackTrace ()} catch (Exception e) {// Gérer les erreurs pour Class.forName e.printStackTrace ()} finally {// Enfin le bloc utilisé pour fermer les ressources try {if (stmt! = null) stmt.close ()} catch (SQLException se2) {} // rien ne peut être fait try {if (conn! = null) conn.close ()} catch (SQLException se) {se.printStackTrace ()} // end finally try} // end try System.out.println ('Goodbye!')} // end main} // end Exemple

Le code ci-dessus crée une table dans votre base de données localhost. Pour insérer les valeurs dans la base de données créée, vous pouvez vous référer au code ci-dessous. Je n'écrirai le code que pour l'étape 4. Le reste du code reste le même que ci-dessus.

// ÉTAPE 4: Exécuter une requête System.out.println ('Création d'une table dans une base de données donnée ...') stmt = conn.createStatement () String sql = 'CREATE TABLE EMPLOYEES' + '(id INTEGER not NULL,' + 'premier VARCHAR (255),' + 'dernier VARCHAR (255),' + 'age INTEGER,' + 'PRIMARY KEY (id))' stmt.executeUpdate (sql) System.out.println ('Table créée dans la base de données donnée ... ') System.out.println (' Insertion d'enregistrements dans la table ... ') stmt = conn.createStatement () String sql =' INSERT INTO Employees VALUES (100, 'Kriss', 'Kurian', 18) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (101, 'Enrique', 'John', 25) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees (102, 'Taylor', 'Swift' , 30) 'stmt.executeUpdate (sql) sql =' INSERT INTO Employees VALUES (103, 'Linkin', 'Park', 28) 'stmt.executeUpdate (sql) System.out.println (' Enregistrements insérés dans la table. .. ')

C'est ainsi que vous pouvez établir une connexion à la base de données et insérer des valeurs dans les tables. Allons maintenant plus loin et comprenons les différents types de pilotes JDBC

Types de pilotes JDBC

Les pilotes JDBC sont utilisés pour implémenter les interfaces définies dans l'API JDBC, pour interagir avec le serveur de base de données.Essentiellement, un Pilote JDBC fait trois choses et elles sont les suivantes:
1. Établit une connexion avec une source de données.
2. Il enverra des requêtes et des instructions de mise à jour à la source de données.
3. Enfin, il traite les résultats.

Par exemple, les pilotes JDBC vous aident à ouvrir une connexion à une base de données pour interagir avec elle en envoyant . Si vous souhaitez en savoir plus sur les types de pilotes JDBC, vous pouvez consulter cet article sur .

Allons maintenant plus loin et comprenons les connexions JDBC.

Connexions JDBC

  • Importer des packages JDBC: Ajouter importer déclarations à votre pour importer les classes requises dans votre code Java.

  • Enregistrer le pilote JDBC: In t son pas, pour charger l'implémentation de pilote souhaitée en mémoire afin qu'elle puisse répondre aux requêtes JDBC. Il existe 2 approches pour enregistrer un conducteur.

    • L’approche la plus appropriée pour enregistrer un pilote consiste à utiliser Java forName () méthode pour charger dynamiquement le fichier de classe du pilote en mémoire , qui l'enregistre automatiquement. Cette méthode convient car elle vous permet de rendre l'enregistrement du pilote configurable et portable. Jetez un œil au code ci-dessous:

      try {Class.forName ('oracle.jdbc.driver.OracleDriver')} catch (ClassNotFoundException ex) System.out.println ('Erreur: impossible de charger la classe de pilote!') System.exit (1)}
    • La deuxième approche que vous pouvez utiliser pour enregistrer un pilote consiste à utiliser la valeur statique registerDriver () méthode.

      essayez {Driver myDriver = new oracle.jdbc.driver.OracleDriver () DriverManager.registerDriver (myDriver)} catch (ClassNotFoundException ex) {System.out.println ('Erreur: impossible de charger la classe de pilote!') System.exit (1 )}
  • Vous devez utiliser le registerDriver () si vous utilisez une machine virtuelle Java non compatible JDK, telle que celle fournie par Microsoft. Ici, chaque formulaire nécessite une base de données URL .

  • Formulation d'URL de base de données: La formulation d'URL est nécessaire pour créer une adresse correctement formatée qui pointe vers la base de données à laquelle vous souhaitez vous connecter. Une fois le pilote chargé, vous pouvez établir une connexion à l'aide du DriverManager.getConnection () méthode. Les méthodes DriverManager.getConnection () sont & moins

    • getConnection (chaîne url)

    • getConnection (URL de chaîne, prop Propriétés)

    • getConnection (URL de chaîne, utilisateur de chaîne, mot de passe de chaîne)

  • Créer un objet de connexion

Vous pouvez créer une connexion à l'aide de l'URL, du nom d'utilisateur et du mot de passe de la base de données et également à l'aide de l'objet de propriétés.

  • proche

Enfin, pour mettre fin à la session de base de données, vous devez fermer toutes les connexions à la base de données. Cependant, si vous oubliez, le garbage collector de Java fermera la connexion lorsqu'il nettoiera les objets périmés.

conn.close () // Utilisé pour fermer la connexion

Tout était question de connectivité de base de données Java. Si vous souhaitez en savoir plus sur JDBC, vous pouvez vous référer à cet article sur . Cela nous amène à la fin de l’article sur «comment se connecter à une base de données». J'espère avoir mis en lumière vos connaissances sur JDBC.

Vérifiez par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Nous sommes là pour vous aider à chaque étape de votre voyage, pour devenir une autre question d'entrevue java, nous proposons un programme conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de cet article «comment se connecter à une base de données» et nous vous répondrons dans les plus brefs délais.