Closed sgps000 closed 2 months ago
由于之前使用mongodb设计的原因,实体类中特殊类型都会重写get方法,导致有些字段永远不会为空,直接使用entity类型的更新容易出错,所以更多的是想要通过wrapper去主动精准地操作数据库。原本还想实现一个基于wrapper的批量修改插入的,但是想到批量校验需要在java中,通过wrapper直接校验对象是否符合条件,暂时没找到合适的办法,只能用MERGE INTO语句自定义注入器去实现基础功能,没法像mongodb的upsert那样方便。
自己业务代码自己处理,不要什么都希望框架帮你做.
自己业务代码自己处理,不要什么都希望框架帮你做.
@nieqiurong 第一个方法是基于wrapper批量更新,如果算个人业务我能理解。 但第二个批量更新插入,我感觉是框架代码的写法有问题,建议改掉。 原框架中serviceImpl的saveOrUpdateBatch那么慢,3.5.7的BaseMapper中InsertOrUpdate也没有改变写法,是用的人少才没人反馈吗?还是我的用法错了?
关于第一个方法,我是在想既然update(Wrapper
确实saveOrUpdateBatch好慢,为什么不先批量查出来比对后在批量新增或修改
旧版每个对象都会查询校验一遍,效率极低。还有就是校验数据是否存在,为啥用selectById,而不是用count查询校验?