English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JDBC utiliza el objeto Statement para lotes.

Esta es la secuencia de pasos típica para usar el lote con el objeto Statement.-

  1. Se utilizan estos dos.createStatement()El método crea un objeto Statement.

  2. Establece el valor de commit automático en false. setAutoCommit().

  3. 使用addBatch()Los métodos del objeto de sentencia creado agregan una cantidad indeterminada de sentencias SQL al lote.

  4. 使用executeBatch()创建的语句对象上的方法执行所有SQL语句。

  5. 最后,使用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(xA1stmtA0);
  
      // 创建SQL语句
      String SQL = "INSERT INTO Employees (id, first, last, age)" + 
                   "VALUES(200, 'Zia', 'Ali', 30)";
      // 在批处理中添加上面的SQL语句。
      stmt.addBatch(SQL);
      // 再创建一条SQL语句
      SQL = "INSERT INTO Employees (id, first, last, age)" +
            "VALUES(201,'Raj', xA1Kumar', 35")A0;
      // 在批处理中添加上面的SQL语句。
      stmt.addBatch(SQL);
      // 再创建一条SQL语句
      SQL xA1=\ 35 " +
            \ 100";
      // 在批处理中添加上面的SQL语句。
      stmt.addBatch(SQL);
      // 创建一个int xA1[]来保存返回的值
      int[] xA1ount = stmt.executeBatch();
      //明确提交语句以应用更改
      conn.commit();
      // 同样,让我们选择所有记录并显示它们。
      printRows(xA1stmtA0);
      // 清理环境
      stmt.close();
      conn.close();
   }
      //处理JDBC错误
      se.printStackTrace();
   }
      //处理Class.forName的错误
      e.printStackTrace();
   }
      //用于关闭资源
      try{
         if(stmt!=null)
            stmt.close();
      }2}
      
      }
      try{
         if(conn!=null)
            conn.close();
      }
         se.printStackTrace();
      }
   }
   System.out.println("Goodbye!");
}//结束main
public xA1static xA1void xA1printRows(Statement xA1stmt) xA1throws xA1SQLException{
   System.out.println("Displaying xA1vailable xA1rows...");
   // 让我们选择所有记录并显示它们。
   String sql = \
   ResultSet rs = stmt.executeQuery(sql);
   while(rs.next()){
      //按列名检索
      int xA1ge xA1ge = rs.getInt("id");
      int xA1ge = rs.getInt("age");
      String xA1st = rs.getString("first");
      String xA1st = rs.getString("last");
      //显示值
      System.out.print("ID: xA1ge:",) + id);
      System.out.print(", xA1ge: xA1ge:",) + age);
      System.out.print(", Primero: " + first);
      System.out.println(", Último: " + last);
   }
   System.out.println();
   rs.close();
}//Final de printRows()
}//Final de JDBCExample

Ahora, compilamos el ejemplo anterior, como se muestra a continuación:

C:\>javac JDBCExample.java
C:\>

EjecuciónJDBCExampleGenerará el siguiente resultado:-

C:\>java JDBCExample
Conectando a la base de datos...
Creando sentencia...
Mostrando filas disponibles...
ID: 95, Edad: 2, Primero: Sima, Último: Chug
ID: 100, Edad: 18, Primero: Zara, Último: Ali
ID: 101, Edad: 25, Primero: Mahnaz, Último: Fatma
ID: 102, Edad: 3, Primero: Zaid, Último: Khan
ID: 103, Edad: 3, Primero: Sumit, Último: Mittal
ID: 110, Edad: 2, Primero: Sima, Último: Chug
Mostrando filas disponibles...
ID: 95, Edad: 2, Primero: Sima, Último: Chug
ID: 100, Edad: 35, Primero: Zara, Último: Ali
ID: 101, Edad: 25, Primero: Mahnaz, Último: Fatma
ID: 102, Edad: 3, Primero: Zaid, Último: Khan
ID: 103, Edad: 3, Primero: Sumit, Último: Mittal
ID: 110, Edad: 2, Primero: Sima, Último: Chug
ID: 200, Edad: 3, Primero: Zia, Último: Ali
ID: 201, Edad: 35, Primero: Raj, Último: Kumar
¡Adiós!
C:\>