1 批量执行SQL语句

当需要成批插入或者更新记录时,可以采用Java的批量更新机制,这一机制允许多条语句一次性提交给数据库批量处理。通常情况下比单独提交处理更有效率
JDBC的批量处理语句包括下面三个方法:
addBatch(String):添加需要批量处理的SQL语句或是参数;
executeBatch():执行批量处理语句;
clearBatch():清空缓存的数据
通常我们会遇到两种批量执行SQL语句的情况:
多条SQL语句的批量处理;
一个SQL语句的批量传参;

2 高效的批量插入

举例:向数据表中插入20000条数据数据库中提供一个goods表。创建如下:CREATETABLEgoods(
idINTPRIMARYKEYAUTO_INCREMENT,
NAMEVARCHAR(20));

实现层次一:使用Statementimage.png

实现层次二:使用PreparedStatementimage.png

实现层次三

修改1: 使用 addBatch() / executeBatch() / clearBatch()

  • 修改2:mysql服务器默认是关闭批处理的,我们需要通过一个参数,让mysql开启批处理的支持。

?rewriteBatchedStatements=true 写在配置文件的url后面

  • 修改3:使用更新的mysql 驱动:mysql-connector-java-5.1.37-bin.jarimage.png

    实现层次四

    层次四:在层次三的基础上操作
    * 使用Connection 的 setAutoCommit(false) / commit()image.png