阅读 48

MyBatis流程概述

通过一段简单的代码,可以把 MyBatis 的运行流程分为三大阶段

  1. 初始化阶段:读取 XML 配置文件和注解中的配置信息,创建配置对象,并完成各个模块的初始化的工作
  2. 代理封装阶段:封装 iBatis 的编程模型,使用 mapper 接口开发的初始化工作
  3. 数据访问阶段:通过 SqlSession 完成 SQL 的解析,参数的映射、SQL 的执行、结果的解析过程
public class MybatisDemo {
	
    private SqlSessionFactory sqlSessionFactory;
    
    @Before
    public void init() throws IOException {
    	// --------------------第一阶段---------------------------
        // 1.读取mybatis配置文件创建SqlSessionFactory
    	String resource = "mybatis-config.xml";
    	InputStream inputStream = Resources.getResourceAsStream(resource);
    	sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);
    	inputStream.close();
    }
    
    @Test
    // 快速入门
    public void quickStart() throws IOException {
    	// --------------------第二阶段---------------------------
    	// 2.获取sqlSession	
    	SqlSession sqlSession = sqlSessionFactory.openSession();
    	// 3.获取对应mapper
    	TUserMapper mapper = sqlSession.getMapper(TUserMapper.class);
    	
    	// --------------------第三阶段---------------------------
    	// 4.执行查询语句并返回单条数据
    	TUser user = mapper.selectByPrimaryKey(2);
    	System.out.println(user);
    
    }

}
复制代码

三个阶段分别具体分析,后期有时间把时序图补上,助于流程理解:

  1. 初始化阶段
  2. 代理封装阶段
  3. 数据访问阶段