Maison > Java > javaDidacticiel > Explication détaillée et exemples de connexion JDBC à la base de données et étapes en Java

Explication détaillée et exemples de connexion JDBC à la base de données et étapes en Java

高洛峰
Libérer: 2017-02-28 15:37:14
original
1915 Les gens l'ont consulté

Explication détaillée du code de la base de données de connexion JDBC et des étapes en Java

Base de données de connexion JDBC

•Créer un programme pour se connecter à la base de données avec JDBC, comprenant 7 étapes :

1. Charger le pilote JDBC :

Avant de vous connecter à la base de données, vous devez d'abord charger le pilote de la base de données à laquelle vous souhaitez vous connecter. À la JVM (Java Virtual Machine), cela se fait via la méthode statique forName(String className) de la classe java.lang.Class.

Par exemple :


  try{  
  //加载MySql的驱动类  
  Class.forName("com.mysql.jdbc.Driver") ;  
  }catch(ClassNotFoundException e){  
  System.out.println("找不到驱动程序类 ,加载驱动失败!");  
  e.printStackTrace() ;  
  }
Copier après la connexion


Après un chargement réussi, la classe Driver sera be L'instance est enregistrée dans la classe DriverManager.

2. Fournissez l'URL de la connexion JDBC

•L'URL de connexion définit le protocole, le sous-protocole et l'identification de la source de données lors de la connexion à la base de données.
•Forme écrite : protocole : sous-protocole : identifiant de la source de données

Protocole : commence toujours par jdbc dans JDBC

Sous-protocole : est le pilote de la connexion pont ou est le nom du système de gestion de base de données. ​

Identification de la source de données : marquez l'adresse et le port de connexion où se trouve la source de la base de données.

Par exemple : (URL de connexion MySQL)


 jdbc:mysql:  
    //localhost:3306/test?useUnicode=true&characterEncoding=gbk ;
Copier après la connexion


useUnicode=true : Indique l'utilisation du jeu de caractères Unicode. Si CharacterEncoding est défini sur

gb2312 ou GBK, ce paramètre doit être défini sur true. CharacterEncoding=gbk : méthode d'encodage des caractères.

3. Créez une connexion à la base de données

•Pour vous connecter à la base de données, vous devez demander et obtenir l'objet Connection depuis java.sql .DriverManager, qui représente une connexion à une base de données.
•Utilisez la méthode getConnectin(String url, String username, String password) de DriverManager pour transmettre le chemin d'accès à la base de données spécifiée à connecter, le nom d'utilisateur de la base de données et le

mot de passe pour obtenir il.

Par exemple :


//连接MySql数据库,用户名和密码都是root  
   String url = "jdbc:mysql://localhost:3306/test" ;  
   String username = "root" ;  
   String password = "root" ;  
   try{  
  Connection con =  
       DriverManager.getConnection(url , username , password ) ;  
   }catch(SQLException se){  
  System.out.println("数据库连接失败!");  
  se.printStackTrace() ;  
   }
Copier après la connexion


4. Créer une déclaration

•Pour exécuter une instruction SQL, vous devez obtenir une instance java.sql.Statement. Les instances d'instruction sont divisées en 3 types suivants :

1. . Exécuter des instructions SQL statiques . Généralement implémenté via des instances de Statement.​
2. Exécutez des instructions SQL dynamiques. Généralement implémenté via une instance PreparedStatement.
3. Exécutez la procédure stockée de la base de données. Généralement implémenté via une instance CallableStatement.

Implémentation spécifique :


Statement stmt = con.createStatement() ;  
    PreparedStatement pstmt = con.prepareStatement(sql) ;  
    CallableStatement cstmt =  
              con.prepareCall("{CALL demoSp(? , ?)}") ;
Copier après la connexion


5. Exécuter les instructions SQL

L'interface Statement fournit trois méthodes pour exécuter des instructions SQL : exécuterQuery, exécuterUpdate et exécuter l'instruction SQL
, renvoie un objet de jeu de résultats (ResultSet).

2. int executeUpdate(String sqlString) : utilisé pour exécuter des instructions INSERT, UPDATE ou DELETE et des instructions SQL DDL, telles que : CREATE TABLE et DROP TABLE, etc.

3.execute(sqlString) : utilisé pour exécuter Instruction qui renvoie plusieurs jeux de résultats, plusieurs nombres de mises à jour ou une combinaison des deux.


Code d'implémentation spécifique :



     ResultSet rs = stmt.executeQuery("SELECT * FROM ...") ;  
  int rows = stmt.executeUpdate("INSERT INTO ...") ;  
  boolean flag = stmt.execute(String sql) ;
Copier après la connexion

6. Résultat du traitement

Deux situations :

1. L'exécution de la mise à jour renvoie le nombre d'enregistrements concernés par cette opération.​

2. Le résultat renvoyé par l'exécution de la requête est un objet ResultSet. ​

​ • ResultSet contient toutes les lignes qui répondent aux conditions de l'instruction SQL et donne accès aux données de ces lignes via un ensemble de méthodes get.
• Utiliser la méthode d'accès de l'objet ResultSet pour obtenir les données : Numérotées à droite et à partir de la colonne 1)

7、关闭JDBC对象

操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:

1、关闭记录集
2、关闭声明
3、关闭连接对象


     if(rs != null){  // 关闭记录集  
    try{  
      rs.close() ;  
    }catch(SQLException e){  
      e.printStackTrace() ;  
    }  
     }  
     if(stmt != null){  // 关闭声明  
    try{  
      stmt.close() ;  
    }catch(SQLException e){  
      e.printStackTrace() ;  
    }  
     }  
     if(conn != null){ // 关闭连接对象  
     try{  
      conn.close() ;  
     }catch(SQLException e){  
      e.printStackTrace() ;  
     }  
     }
Copier après la connexion


感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

更多java 中JDBC连接数据库和步骤详解及实例相关文章请关注PHP中文网!


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal