JDBC-- 批量插入
前言
对于插入操作,如果我们插入一条数据就写一个 sql 语句,那么这将是一个很大的工程,因此批量插入操作就上线了,PreparedStatement 相比 Statement 的一个很大的优势就是可以实现插入操作。因此这里我们使用 PreparedStatement 类。由于 update 和 delete 本身就是批量操作的功能,比如可以一次删除所有字段信息,因此这里我们只对批量插入操作进行讨论。
实现方法一
复制代码
实现方法二(对方法一改进)
使用 addBatch(), executeBatch(), clearBatch()
mysql 服务器默认是关闭批处理的,我们需要通过一个参数,让 mysql 开 启批处理的支持。
?rewriteBatchedStatements=true 写在配置文件的 url 后面。如下 url=jdbc:mysql://localhost:3306/test?rewriteBatchedStatements=true
使用更新的 mysql 驱动(最低为这个版本):mysql—connector-java-5.1.37-bin.jar
复制代码
实现方法三(对方法二优化)
我们还可以对方法二进行优化,以缩短操作时间。就是我们可以执行 sql 语句,但是暂时不提交到数据库,等批处理完毕后,在进行提交。次方法也是推荐使用的方法。
复制代码
版权声明: 本文为 InfoQ 作者【打工人!】的原创文章。
原文链接:【http://xie.infoq.cn/article/77fb0965131c74429f387fa6d】。文章转载请联系作者。
评论