Mybatis--SqlSession对象详解
Posted Z && Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis--SqlSession对象详解相关的知识,希望对你有一定的参考价值。
1. 了解SqlSessionFactory工厂类
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。
SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而
SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的
Configuration 实例来构建出 SqlSessionFactory 实例。
2. SqlSession对象详解
Configuration conf // conf 是配置文件的配置信息
用户访问数据库是基于SqlSession的,用户去访问数据库的这个过程也叫做会话,一次会话就代表了一次连接。SqlSession都是由SqlSessionFactory生产出来的。
用户在访问数据库的时候,需要用到很多的配置信息
(比如数据库的url,用户名,密码,sql语句...)
这些信息都是从配置文件来的,这些配置信息都是加载到Configuration的
实例conf对象中,所以每次访问数据库都会去拿这个conf对象。
但是大家想一想,conf对象里面包含了大量的配置信息,有可能占用的内存比较大。
基于这样的考虑,Mybatis里面的conf对象是单例唯一的,当我们的SqlSession
需要去访问数据库,Myabtis肯定不会让它对重新实例化一次conf对象,
而是让它去引用 单例唯一的的conf对象的地址。
所以SqlSessionFactory在每生产一个SqlSession的时候,都会把
conf对象的地址传递过去。
以上是关于Mybatis--SqlSession对象详解的主要内容,如果未能解决你的问题,请参考以下文章
MyBatis:SqlSession及其工厂类的作用域和生命周期