确认
- [X] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
- [X] 我已经在 issue 中搜索过, 确认问题没有被提出过
- [X] 我已经修改标题, 将标题中的 描述 替换为遇到的问题
功能改进
逻辑删除时,remove/removeByIds等方法无法进入MetaObjectHandler的子类,修改更新时间(updateByIds等方法是可以正常修改的)
Spring全局配置:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #显示sql
global-config:
db-config:
logic-delete-field: isDelete #全局逻辑删除字段值
java代码:
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
private Date updateTime;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
Date currentDate = new Date();
if (metaObject.hasGetter("createTime")) {
setFieldValByName("createTime", currentDate, metaObject);
}
if (metaObject.hasGetter("updateTime")) {
setFieldValByName("updateTime", currentDate, metaObject);
}
}
@Override
public void updateFill(MetaObject metaObject) {
if (metaObject.hasGetter("updateTime")) {
setFieldValByName("updateTime", new Date(), metaObject);
}
}
}
removeByIds(offerBillMemberIds); remove等框架内的其他删除方法都试过了,均无法修改更新时间
执行sql:
Preparing: UPDATE tb_offer_bill_member SET is_delete = '1' WHERE tb_offer_bill_member.tenant_id = 1683773400876826625 AND offer_bill_member_id IN (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) AND is_delete = '0'
参考资料
No response
Comment From: miemieYaho
什么版本?
Comment From: coding-weilong
什么版本?
3.3.0,目前系统升级MyBatisPlus新版本难度较大,影响点很多,该版本是否有解决方案?
Comment From: miemieYaho
不知道