问题
使用mybatisplus的时候遇到一个问题,我的一个方法开启了事务,当我执行这个方法的时候,立马去查询,查询到的还是以前的数据,后来发现是事务还没完事,但是这个时候又不能不让用户查询。于是就看这个事务中有什么地方那么耗费性能。
发现问题
后来通过 System.currentTimeMillis() 看出,是mybatis-plus的saveBatch方法耗费了性能
requirementService.saveBatch(addReqList);
通过日志发现,在这里看似是一句代码,实际上mybatis-plus是一句一句走的
解决方法
在配置的url中增加 rewriteBatchedStatements=true 即可开启数据库批量新增
url: jdbc:mysql://xx.xx.xxx.xxx:3306/cps?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&rewriteBatchedStatements=true&serverTimezone=GMT%2B8