MybatisPlusBaseMapper实现对数据库增删改查源码 |
||||||||||||||||||||
+ 目录MybatisPlus 是一款在 Mybatis 基础上进行的增强 orm 框架,可以实现不写 sql 就完成数据库相关的操作。普通的 mapper 接口通过继承 BaseMapper 接口,即可获得增强,如下所示:
?
接下来就对其源码一探究竟,看看他到底是如何实现的
环境搭建1、使用 h2 数据库www.lu0.com,方便测试,导入相关依赖
?
2、springboot 配置文件
?
3、resources 目录下新建 db 目录,创建 sql 文件 schema-h2.sql
?
data-h2.sql
?
4、编写 mapper 文件
?
5、启动测试
?
结果如下
从 @MapperScan 入手@MapperScan 注解的作用是扫描指定 mapper 接口所在的包,并生成接口的代理对象,注入到 ioc 容器中,接口定义如下
?
可以看到 Import 了个 MapperScannerRegistrar,点进去看看这个类做了什么
?
这个 importRegister 注册了一个 MapperScannerConfigurer,这个类是个 BeanDefinitionRegistryPostProcessor,核心逻辑就是在这个类中,即扫描指定 mapper 接口所在的包,并生成接口的代理对象,注入到 ioc 容器中,查看该类的 postProcessBeanDefinitionRegistry() 方法
?
|