一、简介先看看Mybatis的源码结构图,Mybatis3.2.7版本包含的包共计19个,其他版本可能会少。每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的,SqlSessionFactory 的实例可以通过 SqlSessionFa ...
一、简介
先看看Mybatis的源码结构图,Mybatis3.2.7版本包含的包共计19个,其他版本可能会少。
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为中心的,SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得,而 SqlSessionFactoryBuilder 则可以从
所以Mybatis的三个重要核心就是:SqlSessionFactoryBuilder 、SqlSessionFactory 、SqlSession
二、源码解析
1、SqlSessionFactoryBuilder
SqlSessionFactoryBuilder 、SqlSessionFactory 、SqlSession这三个类都位于session包下,这是SqlSessionFactoryBuilder类结构图
类中的9个build方法都是为了创建并返回SqlSessionFactory对象,根据参数类型,实际上可以分为三类方法
1.以Configuration对象为参数的创建
2.以InputStream对象为参数的创建
3.以Reader对象为参数的创建
但实际上最重要的是以Configuration对象的build方法,因为以InputStream、Reader对象为参数的build方法最后都是通过读取
public SqlSessionFactory build(Reader reader, String environment, Properties properties) { try { } return var5; try { } return var5; SqlSession openSession(boolean var1); SqlSession openSession(Connection var1); SqlSession openSession(TransactionIsolationLevel var1); SqlSession openSession(ExecutorType var1); SqlSession openSession(ExecutorType var1, boolean var2); SqlSession openSession(ExecutorType var1, TransactionIsolationLevel var2); SqlSession openSession(ExecutorType var1, Connection var2); Configuration getConfiguration();
原标题:Mybatis源码解析(一)(2015年06月11日)
关键词:mybatis
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。