一、流程
- Resource获取加载全局配置文件
- 如图:
(引入properties文件和连接数据库等配置都在xml中)*
- 实例化SqlSessionFactoryBuider构造器
-
SqlSession对应着一次数据库的会话,将之前JDBC的持久化
-
注:阅读源码,可以从SqlSessionFactory接口和SqlSession接口以及两个实现类入手,看源码的实现过程。
-
SqlSessionFactoryBuilder源码如下:
-
SqlsessionFactory的理解:
- SqlSessionFactory是单个数据库映射关系经过编译之后的内存镜像
- SqlSessionFactory是Mabatis的核心
-
SqlSession的理解:
- SqlSession对象是MyBatis执行持久化操作的关键对象,底层封装了所有的JDBC连接以及SQL的操作方法
源码如图:
- 运行executor执行器以及进行事务管理等
-
如图:
- 创建SqlSession后,设置断点查看到执行器信息
- 还有事务管理,如果增删查改等事务发生错误会进行回滚
- 最后提交事务,关闭
从项目中看流程:
-
联系项目中的使用来理解Session的创建和应用过程
-
在utils类中写好静态方法,调用openSession方法,返回SqlSession
在Test类中进行调用,完成SqlSession的创建
- SqlSession的getMapper()会返回mapper类,Dao层中mapper的原理下次一定!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)