mybatis工作原理

Posted cye9971-

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis工作原理相关的知识,希望对你有一定的参考价值。

引导层------>框架支撑层----->数据处理------->接口层

1、创建sqlSessionFactoryBuilder对象

2、build(inputStream)

3、创建解析器parser

4、解析每一个标签把详细信息保存在Configuration中

5、解析mapper.xml

mapper.xml中每一个元素信息,解析并保存在全局配置文件中,将增删改查标签的每一个标签每一个属性都解析出来封装成一个mapperstatement,一个mapperstatement代表增删改查的详细信息,

config对象所有配置文件中的详细信息(封装)

总结:把配置文件的信息解析并保存在configuration中,返回DefaultSqlSession对象

1、获取sqlSessionFactory对象 :解析文件的每一个信息保存在configuration中返回包含configuration的defaultsessionfactory(马批评而statement代表一个增删改查的详细信息)

2、获取sqlSession对象:返回sqlSession的实现类DefaultsqlSession对象,里面包含了Executer的configuration,executor被创建

3、获取接口的代理对象:getMapper,使用MapperProxyFactory创建一个mapperProxy

4、执行增删改查方法

总结:1、根据配置文件(全局文件)映射初始化出configuration对象

2、创建一个DefaultsqlSession对象(configuration以及Executor根据全局配置文件的defaultExecutorType)创建出对应的Executor

3、DefaultSqlSession.getMapper():拿到Mapper接口对应的mapperProxy

4、MapperProxy里面有(DefaultSqlSession)

5、执行增删改查方法

            1、调用DefaultSqlSession的增删改查Executor

             2、会创建一个statementHandler对象同时也会创建ParameterHandler

             3、调用statementHandler预编译参数以及设置参数值ResultSetHandler

             4、调用statementHandler的增删改查方法

             5、ResultSetHandler对象

技术图片

 

以上是关于mybatis工作原理的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis的工作原理

每天用Mybatis,但是Mybatis的工作原理你真的知道吗?

MyBatis的工作原理

你分析过mybatis工作原理吗?

MyBatis - 8.MyBatis工作原理

MyBatis工作原理