当前使用版本(必填,否则不予处理)
3.5.2
该问题是如何引起的?(确定最新版也有问题再提!!!)
执行逻辑删除时,updateTime未更新;
重现步骤(如果有就写完整)
this.lambdaUpdate().eq(SchoolBook::getSchoolId,schoolId) .in(SchoolBook::getBookId,delBookIds) .remove() 看了下源码,参数处理时未获取到tableInfo,未进入填充逻辑;
报错信息
无
Comment From: miemieYaho
填充只能填充到entity里
Comment From: yuge1805
填充只能填充到entity里
近期有规划解决吗?没有的话,我可以试试嘛?
Comment From: miemieYaho
解决不了,就这样的
Comment From: yuge1805
解决不了,就这样的
LambdaUpdateChainWrapper增加一个属性Class
在getWrapper时,调用EntityClass的构建函数,反射创建Entity,赋值给wrapper;
这样子,是否可以呢?
Comment From: miemieYaho
不可以,你应该自己new进去
Comment From: yuge1805
this.lambdaUpdate().remove() 这个没提供new的场景呀,刚才说的是对这个场景的扩展支持
Comment From: yuge1805
我get到了你点了,自动生成mapper脚本中,确实没有参数可以支持更新字段;
<script>
UPDATE test_demo SET del_status=1
<where>
<choose>
<when test="ew != null">
<if test="ew.entity != null">
<if test="ew.entity.id != null">id=#{ew.entity.id}</if>
<if test="ew.entity['planId'] != null"> AND plan_id=#{ew.entity.planId}</if>
<if test="ew.entity['scheduleStatus'] != null"> AND schedule_status=#{ew.entity.scheduleStatus}</if>
<if test="ew.entity['errorMsg'] != null"> AND error_msg=#{ew.entity.errorMsg}</if>
<if test="ew.entity['createTime'] != null"> AND create_time=#{ew.entity.createTime}</if>
<if test="ew.entity['createUserId'] != null"> AND create_user_id=#{ew.entity.createUserId}</if>
<if test="ew.entity['createUserName'] != null"> AND create_user_name=#{ew.entity.createUserName}</if>
<if test="ew.entity['updateTime'] != null"> AND update_time=#{ew.entity.updateTime}</if>
<if test="ew.entity['updateUserId'] != null"> AND update_user_id=#{ew.entity.updateUserId}</if>
<if test="ew.entity['updateUserName'] != null"> AND update_user_name=#{ew.entity.updateUserName}</if>
</if>
AND del_status=0
<if test="ew.sqlSegment != null and ew.sqlSegment != '' and ew.nonEmptyOfNormal">
AND ${ew.sqlSegment}
</if>
<if test="ew.sqlSegment != null and ew.sqlSegment != '' and ew.emptyOfNormal">
${ew.sqlSegment}
</if>
</when>
<otherwise>del_status=0</otherwise>
</choose>
</where> <if test="ew != null and ew.sqlComment != null">
${ew.sqlComment}
</if>
</script>
Comment From: yuge1805
@miemieYaho 大佬,尝试修改了下,提了个pull request, 修改方式有问题的话,可以沟通,测试用例结果是OK的
Comment From: chess3cake
@yuge1805 我们是自己在mapper上做了个method来处理,需要传入entity作为参数,因为mybatisplus处理更新参数注入时需要有一个对象
Comment From: yuge1805
@yuge1805 我们是自己在mapper上做了个method来处理,需要传入entity作为参数,因为mybatisplus处理更新参数注入时需要有一个对象
一样的想法,我在PR里也是这么改的。奈何官方人员只是说解决不了,然后直接关了PR,没有任何沟通的想法。┓( ´∀` )┏