Mybatis SqlSessionFactory和SqlSession

一、 SqlSessionFactory

SqlSessionFactory对象的实例可以通过SqlSessionFactoryBuilder对象类获得

SqlSessionFactoryBuilder则可以从XML配置文件或一个预先定制的Configuration的实例构建出SqlSessionFactory的实例。

 

SqlSessionFactory是创建SqlSession的工厂。

SqlSessionFactory也是线程安全的

SqlSessionFactory是一个接口,

SqlSessionFactory只有两个实现类:DefaultSqlSessionFactorySqlSessionManager

 

DefaultSqlSessionFactory(基本用它)

DefaultSqlSessionFactory是SqlSessionFactory默认的实现类。这个类提供了8个方法用来获取SqlSession对象。

二、SqlSession

SqlSession是用来操作xml文件中sql语句,每次操作数据库我们都需要一个SqlSession对象

SqlSession用来和数据库中的事务进行对接的,所以SqlSession里面包含了事务隔离级别等信息。

SqlSession实例是线程不安全的,故最佳的请求范围是请求(request)或者方法(method)。

SqlSession也是一个接口,有两个实现类:DefaultSqlSession和SqlSessionManager。
 

  •  首先SqlSessionFactoryBuilder去读取mybatis的配置文件,然后build一个DefaultSqlSessionFactory,即得到SqlSessionFactory
  • 获取到SqlSessionFactory之后,就可以利用SqlSessionFactory方法的openSession来获取SqlSession对象了。
  • 得到SqlSession对象之后就可以利用SqlSession内部的方法进行CRUD操作了。
    • 注意一点,Connection对象是在SqlSession对象创建之后进行CURD操作中创建的。

三、实现过程

mybatis框架主要是围绕着SqlSessionFactory进行的,大概创建过程如下:

(1)、定义一个Configuration对象,其中包含数据源、事务、mapper文件资源以及影响数据库行为属性设置settings.(Configuration主要内容就是连接环境的信息,如连接池,数据库4个必要属性,事务管理方式等)

(2)、通过配置对象,则可以创建一个SqlSessionFactoryBuilder对象

(3)、通过 SqlSessionFactoryBuilder 获得SqlSessionFactory 的实例。

(4)、SqlSessionFactory 的实例可以获得操作数据的SqlSession实例,通过这个实例对数据库进行操作

 

四、生命周期

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值