Étapes pour que jdbc se connecte à la base de données : 1. Chargez le pilote jdbc ; 2. Créez une connexion à la base de données ; 3. Créez une instruction préparée ; 5. Parcourez l'ensemble de résultats ; Gérez les exceptions et fermez les ressources d'objet JDBC.
L'environnement d'exploitation de cet article : système Windows10, Java 1.8, ordinateur Thinkpad T480.
Connexion JDBC à la base de données, créez un programme pour vous connecter à la base de données avec JDBC, comprenant les étapes suivantes :
Préparez d'abord les quatre paramètres requis par JDBC (utilisateur, mot de passe, url, driverClass )
(1) nom d'utilisateur
(2) mot de passe
(3) L'URL définit le protocole, le sous-protocole et l'identifiant de la source de données lors de la connexion à la base de données Séparé. avec deux points. Forme d'écriture : Protocole : Sous-protocole : Identifiant de la source de données
Protocole : Commence toujours par jdbc dans JDBC
Sous-protocole : C'est le pilote de la connexion pont ou 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) 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.
(4) pilote driverClass requis pour se connecter à la base de données.
1. Chargez 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 que vous souhaitez connecter à la JVM (Java Virtual Machine), ce qui est fait. via la classe java.lang.Class La méthode statique forName(String className) est implémentée. : .
•Utilisez la méthode getConnectin(String url, String username, String password) de DriverManager pour obtenir le chemin de la base de données spécifiée à connecter, le nom d'utilisateur et le mot de passe de la base de données.
Par exemple :
try{//加载MySql的驱动类 Class.forName("com.mysql.jdbc.Driver") ; }catch(ClassNotFoundException e){ System.out.println("找不到驱动程序类 ,加载驱动失败!"); e.printStackTrace() ; }
3. Créez une instruction préparée
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 :
PreparedStatement pstmt = con.prepareStatement(sql) ALL demoSp(? , ?)}") ;
1. ResultSet executeQuery( String sqlString) : Exécuter l'instruction SQL pour interroger la base de données et renvoyer un résultat définir l'objet (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 plusieurs instructions de retour avec des jeux de résultats, plusieurs comptes de mises à jour ou une combinaison des deux.
• Code d'implémentation spécifique : ’ s ’ s ’ s ’ s ‐ to rs = stmt.executeQuery("SELECT * FROM ...") > boolean flag = stmt.execute (Chaîne SQL) ;
5. Parcourez l'ensemble de résultats
两种情况:
1、执行更新返回的是本次操作影响到的记录数。
2、执行查询返回的结果是一个ResultSet对象。
• ResultSet包含符合SQL语句中条件的所有行,并且它通过一套get方法提供了对这些
行中数据的访问。
• 使用结果集(ResultSet)对象的访问方法获取数据:
while(rs.next()){
String name = rs.getString("name") ;
String pass = rs.getString(1) ; // 此方法比较高效
}
(列是从左到右编号的,并且从列1开始)
6、处理异常,关闭JDBC对象资源
•操作完成以后要把所有使用的JDBC对象全都关闭,以释放JDBC资源,关闭顺序和声 明顺序相反:
1、先关闭requestSet
2、再关闭preparedStatement
3、最后关闭连接对象connection
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(); } }
相关视频教程:java视频教程
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!