内容简介:这个小的开源项目Github是展示如何使用Spring Boot + JPA实现MySQL批量更新。关键点:- 在application.properties中设置spring.jpa.properties.hibernate.jdbc.batch_size
这个小的开源项目Github是展示如何使用Spring Boot + JPA实现 MySQL 批量更新。
关键点:
- 在application.properties中设置spring.jpa.properties.hibernate.jdbc.batch_size
- 在application.properties中设置JDBC URL rewriteBatchedStatements=true(MySQL的优化,语句被重写为单个String缓冲区并在单个请求中发送)
- 在application.properties中设置JDBC URL cachePrepStmts=true(启用缓存和如果你决定设置prepStmtCacheSize,prepStmtCacheSqlLimit等等也是有用的;没有这个设置,缓存被禁用)
- 在application.properties中设置JDBC URL useServerPrepStmts=true(这样你切换到服务器端预处理语句(可能会带来显着的性能提升))
- 如果使用cascade all / merge的父子关系(例如,一对多,多对多),则考虑spring.jpa.properties.hibernate.order_updates=true通过订购更新来设置优化批处理
- 在Hibernate 5之前,我们需要在application.properties中设置一个设置,用于在更新和删除操作期间启用版本化实体的批处理(包含@ Version隐式乐观锁定的实体 )。此设置为:spring.jpa.properties.hibernate.jdbc.batch_versioned_data=true。从Hibernate 5开始,默认情况下应该设置true。
父子关系的数据更新输出案例:
点击标题见原文。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- libgo 源码剖析(2. libgo调度策略源码实现)
- HashMap源码实现分析
- 浅谈AsyncTask源码实现
- 【React源码解读】- 组件的实现
- HashMap 实现原理与源码分析
- 手写源码(四):自己实现Mybatis
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Python
Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99
Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!