0、项目结构:
1、写了个测试类,测试类里面调用userMapper(继承basemapper类)进行插入数据
@Test
public void testInsert() throws Exception{
User user = new User();
user.setAge(43);
user.setEmail("72@qq.com");
user.setName("ni");
// userMapper.selectList(null);
int res = userMapper.insert(user);
System.out.println(res);
System.out.println(user);
}
userMapper:
@Repository
public interface UserMapper extends BaseMapper<User> {
}
2、MyMetaObjectHandler实现了MetaObjectHandler接口
@Component
public class MyMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject){
this.setFieldValByName("createTime",new Date(), metaObject);
this.setFieldValByName("updateTime",new Date(), metaObject);
System.out.println("我被执行了");
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updateTime",new Date(), metaObject);
}
}
3、输出结果
4、这是在什么时候执行了MyMetaObjectHandler类,如果我只是在测试类里面查询数据,不进行插入操作,就不会输出“我被执行了”