在使用mybatis-generator自动生成mapper代码的时候,对于基本的增删改查方法可以通过继承通用mapper的方式进行简化,参考:MyBatis 通用 Mapper
5. 高级用法
mapper接口,参考:Mapper 接口大全
1.依赖
1 | <!-- mybatis --> |
2.由于需要使用增删改查的方法,所以通用的MyMapper类为
1 | import tk.mybatis.mapper.common.Mapper; |
3.对于具体mapper,只主要继承MyMapper即可,如
1 | public interface UserMapper extends MyMapper<User> { |
对于UserMapper接口,需要添加 @Mapper 注解,或者使用 @MapperScan(basePackages = “com.example.demo.mapper”) 的方式,为其生成动态代理类
代理模式是一种设计模式,提供了对目标对象额外的访问方式,即通过代理对象访问目标对象,这样可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。
动态代理,参考:什么是动态代理?
Java动态代理之InvocationHandler最简单的入门教程
静态代理: 在编译时就已经实现,编译完成后代理类是一个实际的class文件
动态代理: 在运行时动态生成的,即编译完成后没有实际的class文件,而是在运行时动态生成类字节码,并加载到JVM中
@Mapper注解 和 @MapperScan注解,参考:详解 @MapperScan 注解和 @Mapper 注解