Java jdbc批处理命令

 

import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCBatDemo {
 
 private GetConn getConn;

 private Connection conn;
 
 private PreparedStatement stmt ;
 
 private ResultSet rs  = null;
 
 public JDBCBatDemo(){
  getConn = new GetConn();
 }
 /**
  * @param args
  */
 public static void main(String[] args) {

  JDBCBatDemo demo = new JDBCBatDemo();
  // long start = System.currentTimeMillis();//开始的时间
  // demo.creatBatInsert();
  // long end = System.currentTimeMillis();//结束的时间
  // System.out.println("批处理插入的时间是:"+(end - start));
  long start = System.currentTimeMillis();//开始的时间
  demo.delBat();
  long end = System.currentTimeMillis();//结束的时间
  System.out.println("批处理删除的时间是:"+(end - start));
 }
 
 /**
  * 批处理添加数据
  */
 public void creatBatInsert(){
  conn = getConn.getConnection();
  String sql = "insert into test values(?,?,?)";
  try {
   stmt  = conn.prepareStatement(sql);
   for (int i = 0; i < 1000; i++) {
    stmt.setString(1,"name"+i);
    stmt.setDate(2,  new Date(System.currentTimeMillis()));
    stmt.setInt(3, 1000);
    //放到包里去
    stmt.addBatch();
   }
   int[] arr = stmt.executeBatch();//执行批处理
   System.out.println(arr);
   for (int i = 0; i < arr.length; i++) {
    System.out.println(arr[i]);
   }
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   GetConn.free(stmt, conn, rs);
  }
 }
 
 /**
  * 批处理删除记录
  */
 public void delBat(){
  conn = getConn.getConnection();
  String sql = "delete from test";
  try {
   stmt = conn.prepareStatement(sql);
   stmt.addBatch();
   stmt.executeBatch();
  } catch (SQLException e) {
   e.printStackTrace();
  }finally{
   GetConn.free(stmt, conn, rs);
  }
 }

}

你可能感兴趣的:(java,sql,jdbc)