批处理

当需要处理多条SQL语句时可采用Java批量更新机制,这一机制允许多条语句一次性提交给数据库处理。相当于搬运货物时不再是一件一件的搬至仓库,而是用箱子将货物取多件放入然后一筐一筐搬至仓库。这就是批处理。

批处理有以下三种方法:

addBatch()//装入sql语句或参数

executeBatch()//执行批量sql语句

clearBatch()//清空批处理语句

一般使用批处理有以下两种情况:

多条SQL语句的批量处理

一个SQL语句的传参(经常是这种情况下进行批量处理)

需要批处理时需要在url中增加参数:

url=jdbc:mysql://localhost:3306/girls?rewriteBatchedStatements=true

//获取连接
Connection connection= JDBCUtils.getConnection();
//执行插入
PreparedStatement preparedStatement = connection.prepareStatement("insert into admin VALUES (?,?,?)");
for (int i = 0; i <50000 ; i=i+2) {
preparedStatement.setInt(1,i);
preparedStatement.setString(2,"john");
preparedStatement.setString(3,"0000");
preparedStatement.addBatch();
preparedStatement.setInt(1,i+1);
preparedStatement.setString(2,"Mary");
preparedStatement.setString(3,"8888");
preparedStatement.addBatch();
if(i%1000==0){//当装满1000条sql语句时就开始批量处理
preparedStatement.executeBatch();
preparedStatement.clearBatch();//清空后继续搬运
}
}
//释放资源
JDBCUtils.close(null,preparedStatement,connection);


posted @ 2021-12-22 11:03  ganrui~~~  阅读(73)  评论(0)    收藏  举报