java - spring jdbctemplate批量更新快速替代

标签 java mysql spring

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

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

据我所知,它在一次事务中插入的行数与我提供的行数一样多。但它仍然很慢。

我试过像这样构造一个查询

INSERT INTO CUSTOMER " +
    "(CUST_ID, NAME, AGE) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?),(?, ?, ?)....

我有多少行。它执行得更快,但我必须手动形成查询。我想知道对于这种情况是否有批量更新的替代方案?

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

最佳答案

您可以按如下方式进行

  1. 获取连接对象
  2. 将连接自动提交属性设置为 false。使用 connection.autocommit(false)
  3. 运行您的插入查询语句。
  4. 执行 connection.commit();

关于java - spring jdbctemplate批量更新快速替代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29962750/

相关文章:

java - Maven 没有在 Bamboo 上正确选择 JAVA_HOME

java - 尝试为我的代码获取正确的值答案

没有 SELECT 的 MySQL 存储过程返回值

mysql - 错误代码: 1292 Truncated incorrect datetime value

c# - 如何知道你没有从数据库中得到结果

java - Spring MVC 表单标签 : Is there a standard way to add "No selection" item?

java - 其余 URL 路径未映射 ( Spring Boot )

java - Spring中的线程命名

java - 依赖注入(inject) - maven 多模块项目上的 java.lang.NoClassDefFoundError

java - Kotlin 属性的私有(private) getter 和 public setter