- 有时候我们插入或者更新数据时希望某些字段可以自动填充,比如密码,version等
创建自己的自动填充接口实现类
- MyMetaObjectHandler类
- 加入@Component注解,让Spring扫描
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
Object password = getFieldValByName("password", metaObject);
if(null == password){
setFieldValByName("password","888888",metaObject);
}
}
@Override
public void updateFill(MetaObject metaObject) {
}
}
实体类上加入自动填充注解
@TableField(select = false,fill = FieldFill.INSERT)
private String password;
自动填充的类型
public enum FieldFill {
DEFAULT,
INSERT,
UPDATE,
INSERT_UPDATE;
private FieldFill() {
}
}
测试
@Test
public void testInsert(){
User user = new User();
user.setUserName("guangyu");
user.setAge(29);
user.setName("关羽");
user.setMail("123456@qq.com");
boolean insert = user.insert();
System.out.println(insert);
}