内容简介:这个小的开源项目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
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C++ Concurrency in Action
Anthony Williams / Manning Publications / 2012-2-28 / USD 69.99
HIGHLIGHT C++ Concurrency in Action is the first book to market to show how to take advantage of the new C++ Standard and how to write robust multi-threaded applications in C++. DESCRIPTION With ......一起来看看 《C++ Concurrency in Action》 这本书的介绍吧!