定义了一个MyMetaObjectHandler类,加了component注解,不明白这个类是如何被调用的

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类,如果我只是在测试类里面查询数据,不进行插入操作,就不会输出“我被执行了”

查看全部
qq_33204081
默默Silence
2020/07/24 17:53
  • spring
  • java
  • maven
  • intellij-idea
  • java-ee
  • 点赞
  • 收藏
  • 回答
    私信
满意答案
查看全部

2个回复