批处理
当需要处理多条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);

浙公网安备 33010602011771号