Closed HE996 closed 3 weeks ago
自行业务处理,不维护这种api
@nieqiurong 考虑到mybatis提供了@version ,updatebatchbyid 无法判断列表中是否存在因版本号不一致没有更新的记录,不能进行事务回滚。 业务代码去实现的话最简单的是循环updatebyid,但如果要实现一个sql session 更新一批数据并检测失败,就得看一遍mp代码了。我认为直接提供一个方法更为高效。
自己开事务调用mapper的批量方法获取到批量返回结果集,判断是否批量操作的结果.
mapper.updateById(entityList).stream().flatMapToInt(r -> IntStream.of(r.getUpdateCounts())).allMatch(i -> i > 0 || i == Statement.SUCCESS_NO_INFO);
一次发送多条sql语句更高效
这样还是分多次发送sql吧。执行效率上还是addbatch然后一次性发送比较高
第一次pr,流程不太熟,抛异常可能不规范,望指教