mybatis工做原理

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

一、建立sqlSessionFactoryBuilder对象session

二、build(inputStream)app

三、建立解析器parser框架

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

五、解析mapper.xml代理

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

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

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

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

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

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

四、执行增删改查方法

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

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

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

四、MapperProxy里面有(DefaultSqlSession)

五、执行增删改查方法

            一、调用DefaultSqlSession的增删改查Executor

             二、会建立一个statementHandler对象同时也会建立ParameterHandler

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

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

             五、ResultSetHandler对象

相关文章
相关标签/搜索