jpa save(),saveAll()替代方案,mysql的insert并发问题(on DUPLICATE KEY UPDATE)
一、jpa save() 使用springdata jpa的save()方法在存储数据时,都会先执行select语句,再执行insert语句,相当于每存储一条数据,就会执行两次sql,效率非常慢; saveAll()也一样,查看源码可以看出调用的还是save(),这样就在数据量上来时候出现了瓶颈; 网上搜索到的一些解决方法如下(实际并不一...
一、jpa save() 使用springdata jpa的save()方法在存储数据时,都会先执行select语句,再执行insert语句,相当于每存储一条数据,就会执行两次sql,效率非常慢; saveAll()也一样,查看源码可以看出调用的还是save(),这样就在数据量上来时候出现了瓶颈; 网上搜索到的一些解决方法如下(实际并不一...
json转为java bean 自定义属性名 java bean 转化为json 自定义属性名 有时候需要发送或者接受别地方的参数,但是参数是下划线,不符合java规范,那么可以使用: @JSONField 例如: public class QueryOrder { /** * 客户编码 */ ...
springboot利用swagger2构建api文档 现如今为了前后台更好的对接,也为了以后交接方便,基本上都有要求写API文档。 手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时。 接口返回结果不明确 不能直接在线测试接口,通常需要使用工具,比如postman 接口文档太多,不好管理 Swagger...
SpringBoot中定时任务使用配置文件配置执行时间 在传统的Spring项目中使用Spring Task设置定时任务,其执行时间配置到applicationContext.xml中指定执行方法即可;但是由于现在换做了SpringBoot框架,虽然Spring Task是集成在SpringBoot中的,但是大多是用注解直接把执行之间cron声明在了方法名上,这样...
SpringBoot定时任务的几种实现方式 定时任务实现的几种方式: Timer:这是java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少。 ScheduledExecutorServi...