- 在 元对象处理接口 实现类中,每次‘插入’‘修改’时都为 version 加 1。 | package com.wzy.bootmtp.handler;
 
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
/*<br /> * @Description: 插入的自动填充<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/8 23:54<br /> */<br /> @Override<br /> **public void **insertFill(MetaObject metaObject) {<br /> //获取要被填充的字段的值<br /> Object value = getFieldValByName(**"email"**, metaObject);<br /> //当字段为空时<br /> **if **(value == **null**) {<br /> setFieldValByName(**"email"**,**"wwww@qq.com"**,metaObject);<br /> }<br /> setFieldValByName(**"version"**,1,metaObject);<br /> }/*<br /> * @Description: 修改的自动填充<br /> * @Author: WangZiYao<br /> * @Date: 2021/9/8 23:54<br /> */<br /> @Override<br /> **public void **updateFill(MetaObject metaObject) {<br /> //获取要被填充的字段的值<br /> Object value = getFieldValByName(**"email"**, metaObject);<br /> //当字段为空时<br /> **if **(value == **null**) {<br /> setFieldValByName(**"email"**,**"wwww@qq.com"**,metaObject);<br /> }<br /> setFieldValByName(**"version"**,1,metaObject);<br /> }<br />}
| | —- |
特别说明:
- 支持的数据类型只有 
int,Integer,long,Long,Date,Timestamp,LocalDateTime - 整数类型下 
newVersion = oldVersion + 1 newVersion会回写到entity中- 仅支持 
updateById(id)与update(entity, wrapper)方法 - 在 
update(entity, wrapper)方法下,wrapper不能复用!!! 
