Spring Boot + JPA實現MySQL批量更新原始碼 - github
這個小的開源專案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。
父子關係的資料更新輸出案例:
點選標題見原文。
相關文章
- Spring Boot + JPA DataTable原始碼Spring Boot原始碼
- 在 Spring Boot 中使用 JPA 和 MySQLSpring BootMySql
- Spring Boot (五)Spring Data JPA 操作 MySQL 8Spring BootMySql
- PHP配上MySQL實現批量更新插入PHPMySql
- Spring Boot 整合單機websocket(附github原始碼)Spring BootWebGithub原始碼
- Spring Boot中JPA如何實現按日期合計Spring Boot
- spring boot 配置 JPASpring Boot
- Spring Data JPA中實現更新插入三種方法Spring
- Spring Data JPA原始碼案例Spring原始碼
- Spring Boot(五):Spring Boot Jpa 的使用Spring Boot
- Spring Boot:整合Spring Data JPASpring Boot
- SpringBootHibernateJPA: Spring Boot+ JPA資訊系統案例原始碼Spring Boot原始碼
- Spring boot 四 JPA HibernateSpring Boot
- 使用Docker實現Spring Boot Restful Web服務案例原始碼DockerSpring BootRESTWeb原始碼
- spring boot碼雲原始碼Spring Boot原始碼
- Spring Boot系列(四):Spring Boot原始碼解析Spring Boot原始碼
- Spring Boot with Spring Data JPA (1) - ConceptSpring Boot
- Spring Boot實現DDD的貨運Cargo微服務案例原始碼Spring BootCargo微服務原始碼
- 精盡Spring Boot原始碼分析 - Jar 包的啟動實現Spring Boot原始碼JAR
- Spring Boot + JPA學習總結Spring Boot
- Spring Boot 2和JPA入門Spring Boot
- Testing JPA Queries with Spring Boot and @DataJpaTestSpring Boot
- Spring Boot (十五): Spring Boot + Jpa + Thymeleaf 增刪改查示例Spring Boot
- Spring Boot系列(三):Spring Boot整合Mybatis原始碼解析Spring BootMyBatis原始碼
- java版Spring Cloud+Spring Boot+Mybatis實現工程管理系統原始碼JavaCloudSpring BootMyBatis原始碼
- 精盡Spring Boot原始碼分析 - 內嵌Tomcat容器的實現Spring Boot原始碼Tomcat
- spring boot 框架spring date jpa整合shiroSpring Boot框架
- 精盡Spring Boot原始碼分析 - 支援外部 Tomcat 容器的實現Spring Boot原始碼Tomcat
- 精盡Spring Boot原始碼分析 - @ConfigurationProperties 註解的實現Spring Boot原始碼
- MySQL 批量更新、刪除資料shell指令碼MySql指令碼
- Spring Boot 2.X 如何快速整合jpa?Spring Boot
- 玩轉spring boot——結合JPA事務Spring Boot
- 玩轉spring boot——結合JPA入門Spring Boot
- Spring Data JPA 實現聯表查詢Spring
- Spring Boot 2.0(五):Docker Compose + Spring Boot + Nginx + Mysql 實踐Spring BootDockerNginxMySql
- 精盡Spring Boot原始碼分析 - 序言Spring Boot原始碼
- Spring Boot 自動配置 原始碼分析Spring Boot原始碼
- Spring Boot實現Web SocketSpring BootWeb