English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C'est une séquence typique d'étapes pour utiliser les lots avec l'objet Statement-
Utilisez ces deuxcreateStatement()La méthode crée un objet Statement.
Utilisez pour définir le commit automatique sur false setAutoCommit().
使用addBatch()Les méthodes sur l'objet de phrase créées ajoutent des requêtes SQL en nombre illimité au lot.
使用executeBatch()创建的语句对象上的方法执行所有SQL语句。
最后,使用commit()方法提交所有更改。
该示例代码是根据前几章中的环境和数据库设置编写的。
复制并粘贴以下示例到JDBCExample.java中,如下编译并运行:
// 导入所需的软件包 import java.sql.*; public class JDBCExample { // JDBC驱动程序名称和数据库URL static final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; static final String DB_URL = "jdbc:mysql://localhost/EMP"; // 数据库凭证 static final String USER = "username"; static final String PASS = "password"; public static void main(String[] args) { Connection conn = null; Statement stmt = null; try{ // 注册JDBC驱动程序 Class.forName("com.mysql.jdbc.Driver"); // 打开连接 System.out.println("Connecting to database..."); conn = DriverManager.getConnection(DB_URL,USER,PASS); // 创建语句 System.out.println("Creating statement..."); stmt = conn.createStatement(); // 将自动提交设置为false conn.setAutoCommit(false); // 首先,让我们选择所有记录并显示它们。 printRows( stmt ); // 创建SQL语句 String SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(200,'Zia', 'Ali', 30)"; // Ajouter l'instruction SQL ci-dessus au lot. stmt.addBatch(SQL); // Créer une autre instruction SQL SQL = "INSERT INTO Employees (id, first, last, age) " + "VALUES(201Raj, Kumar, 35"; // Ajouter l'instruction SQL ci-dessus au lot. stmt.addBatch(SQL); // Créer une autre instruction SQL SQL = "UPDATE Employees SET age =" 35 "" + "WHERE id =" 100"; // Ajouter l'instruction SQL ci-dessus au lot. stmt.addBatch(SQL); // Créer un int[] pour sauvegarder les valeurs retournées int[] count = stmt.executeBatch(); //Soumettre explicitement l'instruction pour appliquer les modifications conn.commit(); // De même, sélectionnons tous les enregistrements et affichons-les. printRows( stmt ); // Nettoyage de l'environnement stmt.close(); conn.close(); } //Gestion des erreurs JDBC se.printStackTrace(); } //Gestion de l'erreur Class.forName e.printStackTrace(); } //Pour fermer les ressources try{ if(stmt!=null) stmt.close(); }2} } try{ if(conn!=null) conn.close(); } se.printStackTrace(); } } System.out.println("Au revoir!"); }//Fin de main public static void printRows(Statement stmt) throws SQLException{ System.out.println("Affichage des lignes disponibles..."); // Sélectionnons tous les enregistrements et affichons-les. String sql = "SELECT id, first, last, age FROM Employees"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ //recherche par nom de colonne int id = rs.getInt("id"); int age = rs.getInt("age"); String first = rs.getString("first"); String last = rs.getString("last"); //valeur affichée System.out.print("ID: Â ") + id); System.out.print(", Âge: Â ") + age); System.out.print(", Premier: " + first); System.out.println(", Dernier: " + last); } System.out.println(); rs.close(); }//Fin de printRows() }//Fin de JDBCExample
Maintenant, compilons l'exemple ci-dessus, comme suit :
C:\>javac JDBCExample.java C:\>
Au moment de l'exécutionJDBCExample,il produira les résultats suivants-
C:\>java JDBCExample Connexion à la base de données... Création de l'instruction... Affichage des lignes disponibles... ID: 95, Âge: 2, Premier: Sima, Dernier: Chug ID: 10, Âge: 18, Premier: Zara, Dernier: Ali ID: 101, Âge: 25, Premier: Mahnaz, Dernier: Fatma ID: 102, Âge: 3, Premier: Zaid, Dernier: Khan ID: 103, Âge: 3, Premier: Sumit, Dernier: Mittal ID: 110, Âge: 2, Premier: Sima, Dernier: Chug Affichage des lignes disponibles... ID: 95, Âge: 2, Premier: Sima, Dernier: Chug ID: 10, Âge: 35, Premier: Zara, Dernier: Ali ID: 101, Âge: 25, Premier: Mahnaz, Dernier: Fatma ID: 102, Âge: 3, Premier: Zaid, Dernier: Khan ID: 103, Âge: 3, Premier: Sumit, Dernier: Mittal ID: 110, Âge: 2, Premier: Sima, Dernier: Chug ID: 200, Âge: 3, Premier: Zia, Dernier: Ali ID: 201, Âge: 35, Premier: Raj, Dernier: Kumar Au revoir ! C:\>