Spring jdbctemplate批量更新快速替代

时间:2015-04-30 08:30:13

标签: java mysql spring

我试图使用Spring JDBC模板批量更新将大约5000个值插入到MySql表中,如此处所示

http://www.mkyong.com/spring/spring-jdbctemplate-batchupdate-example/

据我所知,它在一次交易中执行的插件数量与我提供的数量相同。但它仍然很慢。

我尝试过像

这样的查询
INSERT INTO CUSTOMER " +
    "(CUST_ID, NAME, AGE) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?),(?, ?, ?)....

我有多少行。它执行得更快,但我不得不手动形成查询。我想知道有没有替代这种情况的批量更新?

P.S。我知道应该考虑最大包大小,在构建这样大的查询时,查询的大小不应超过限制(尽管可以在MySql服务器中配置限制)。

1 个答案:

答案 0 :(得分:2)

您可以按照以下方式执行此操作

  1. 获取连接对象
  2. 将connections autocommit属性设置为false。使用connection.autocommit(false)
  3. 运行insert query语句。
  4. 执行connection.commit();