MybatisPlus启动调用过程:
--加载
applicationContext容器启动的过程中,加载environment,properties环境变量
org.mybatis.spring.annotation.MapperScan Mapper组件扫描并注册
1、org.mybatis.spring.annotation.MapperScannerRegistrar Mapper的注册
2、org.mybatis.spring.mapper.MapperFactoryBean Mapper Bean的生成
com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration 初始化MybatisPlus相关配置
com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure-初始化DruidDataSource
org.mybatis.spring.SqlSessionFactoryBean 初始化SqlSessionFactory,依据applicationContext容器生命周期:ContextRefreshedEvent
--调用
org.mybatis.spring.SqlSessionTemplate spring为我们提供的操作数据库工具类
com.baomidou.mybatisplus.MybatisSqlSessionTemplate MybatisPlus为我们提供的操作数据库工具类
org.mybatis.spring.SqlSessionUtils 初始化SqlSession,先从当前事务里取,没取到new一个新的
SqlSession->org.apache.ibatis.session.defaults.DefaultSqlSession 默认的sqlSession
xxxMapper 得到Mapper代理对象,开始执行相关方法
--执行
执行CRUD操作具体过程,根据ExecutorType,找到对应的BaseExecutor,执行相应的方法
1、StatementHandler ->SimpleStatementHandler
2、ParameterHandler ->DefaultParameterHandler
3、ResultSetHandler ->DefaultResultSetHandler