Mybatis技术原理与实践——读书笔记(二)

原创
2017/02/17 19:41
阅读数 218

本文是读 杨开振老师的《深入浅出 Mybatis技术原理与实践》第二章所记录的笔记,本文绝对没有推荐书的意思,只是看着记录学习,同时分享自己的观点而已。

 

mybatis 核心组件

1)SqlSessionFactoryBuilder:构造器,他会根据配置信息或者代码生成 SqlSessionFactory

2)SqlSessionFactory:依靠工厂来生成 SqlSession

3)SqlSession:是一个既可以发送SQL去执行并且返回结果,也可以获取Mapper接口

4)SQL Mapper:由一个Java接口和XML文件(或注解)构成,需要给出对应的SQL和映射规则,其负责发送SQL执行并且返回映射结果。

 

 

核心组件生命周期

1)SqlSessionFactoryBuilder:利用、解析xml构造 SqlSessionFactory,因为这整个系统我们只需要一个SqlSessionFactory ,所以,只要项目初始化的时候构造出了 SqlSessionFactory,那么 SqlSessionFactoryBuilder就失去了价值,所以可以定义为一个局部变量。

 

2)SqlSessionFactory,他的主要作用是构造SqlSession,因为SqlSession就像是JDBC的Connection,那么很多时候都需要它来创建,但是由于不同的SqlSessionFactory创建出的SqlSession会不好管理,所以系统中只需要一个SqlSessionFactory,这样他就可以通过数据库连接池清晰配置管理了,所以SqlSessionFactory在系统中应该是单例的。

 

3)SqlSession,类似于JDBC的Connection,所以他应该是在处理事务的过程中,从事务的开启到事务的提交或回滚。因为数据库连接资源的重要性,所以每次使用SqlSession都必须关闭资源。

 

4)Mapper,很明显他是在SqlSession处理业务时被使用,所以他的生命周期应该等同于SqlSession。

 

 

 

 

 

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部