Mybatis运行流程
2020-10-23 09:52:02 0 举报
mybatis执行流程
作者其他创作
大纲/内容
getMapper(PersonDao.class)
使用类型处理器TypeHandler
根据配置文件创建SqlSessionFactory
DefaultSQLSessionFactory也包含了刚才的配置
根据当前方法创建ms
RoutingStatementHandlerPreparedStatementHandler
预编译sql
增删改查
获取映射器
sqlSession.selectOne()
封装了sql的详情
doQuery()
prepareStatement()SQL参数预编译
创建Executor(执行器,执行数据库操作)
其他扩展
proxy.getPersonById(1)
预编译完成
XMLConfigBuilder解析配置文件
四大对象的创建拦截器都会介入进行包装
将当前原生的method包装成一个MapperMethod
设置参数
MapperProxy是InvocationHandler
CacheExecutor Executor
handler.query()
根据Configuration配置信息创建一个StatementHandler
SqlSession获取
每一个接口都有一个MapperProxyFactory对象与之对应保存生成映射器的工厂
ResultSetHandler处理结果的
Configuration保存了所有的配置信息
StatementHandler执行步骤
ParameterHandler处理参数
执行细节
他相当于保存了标签的详细信息
xml文件
MapperStatemet
Mybatis运行流程
根据Proxy创建MapperProxy的代理对象
BoundSql
BaseExecutorqueryFromDatabase
收藏
0 条评论
下一页