mybatis源码分析
来源:互联网 发布:java 顺丰接口 编辑:程序博客网 时间:2024/04/29 05:32
核心的功能模块:
binding:把传入的参数对象转换为sql后的条件
executor:负责sql的执行和拼接
statement:SimpleStatementHandler,负责sql的实际执行
baseExecutor
session:创建session,session工厂,configuration初始化
transanction:事务
type:参数类型转换
scripting:
mapping:ParameterMapping
ResultMapping
MappedStatement
TypeHandler
ResultSetHandler
spring对mybatis的支持
MapperFactoryBean 实现了ibatistemplate
mybatis拦截器:org.apache.ibatis.plugin.Interceptor
org.apache.ibatis.session.ResultHandler.class
org.apache.ibatis.session.RowBounds.class
org.apache.ibatis.session.SqlSessionFactory.class
MyBatis基本执行流程,
1.首先使用SqlSessionFactoryBean在spring初始化的时候调用buildSqlSessionFactory()建立sqlSessionFactory,spring通过调用mybatis的SqlSessionFactoryBuilder建立SqlSessionFactory
2.SqlSessionFactory提供了openSession方法,建立起session,在这个过程中注入事务,通过configuration新建Executor执行器,同时新建SqlSession对象
3.执行SqlSession的查询方法。
4.通过statement查询到MappedStatement,调用执行器Executor中相应的方法,进行操作。
5.Mybatis定义了几种Executor实现
6.Executor调用相应的查询方法,StatementHandler 对参数进行封装,DefaultParameterHandler对传入的参数进行映射,其中会调用到TypeHandler以及多种实现。
调用resultHandler对返回结果进行封装。
- 【Mybatis】mybatis插件源码分析
- MyBatis 3源码分析
- MyBatis源码分析
- mybatis源码分析
- Mybatis原理源码分析
- Mybatis源码 select分析
- Mybatis源码分析
- MyBatis源码分析
- Mybatis源码分析--MapperScannerConfigurer
- Mybatis源码分析系列
- MyBatis Generator 源码分析
- Mybatis源码分析
- Mybatis源码分析-数据源
- Mybatis源码分析-二级缓存
- Spring-Mybatis源码分析
- Mybatis 源码分析
- mybatis 的源码分析
- Mybatis源码分析-StatementHandler
- 随笔
- C++学习笔记——运算符重载
- HDOJ 1789 Doing Homework again(贪心,好题)
- 两种高性能I/O设计模式(Reactor/Proactor)的比较
- 如何理解这个业务逻辑层
- mybatis源码分析
- 关于DUILIB的遮罩,控件穿透以及其应用的分析实践
- mongoVUE忽略大小写,java mongoDB忽略大小写
- oracle的pl/sql存储过程调用java soure来判断文件夹下某个文件是否存在
- 旋转矩阵的算法
- qt5 采集摄像头的视音频
- TMCache: fast object caching for iOS & OS X
- HBase的split分析
- Doing Homework again