一、写在前面
MyBatis基于接口形式的编程主要步骤:
1.创建SqlSessionFactory
对象。
2.根据SqlSessionFactory
对象获取SqlSession
对象。
3.为mapper 接口创建代理对象。
4.使用mapper 接口代理对象执行对应的增删改查操作。
下面就通过分析源码来探索在创建SqlSessionFactory
对象的过程中都发生了什么。
二、SqlSessionFactory
对象创建过程分析
入口程序:
private SqlSessionFactory getSqlSessionFactory() throws IOException {
String resource = "mybatis-config.xml";
InputStream is = Resources.getResourceAsStream(resource);
// 将断点打在下面的代码前
return new SqlSessionFactoryBuilder().build(is);
}
1.首先会跳到SqlSessionFactoryBuilder
类中的build(InputStream inputStream)
方法。
// ======= SqlSessionFactoryBuilder 类中的方法 =======
public SqlSessionFactory build(InputStream inputStream) {
return build(inputStream, null, null);
}
在该方法