MyBatis运行原理 (面试官说的)

发布时间:2024年01月23日
InputStream inputStream = Resources.getResourceAsStream("mybatis.xml");
SqlSessionFactory factory = new SqlSessionFactoryBuilder().build(inputStream);
SqlSession sqlSession = factory.openSession();

第1步:通过Resources 加载全局配置文件成全局配置文件流。
第2步:实例化SqlSessionFactoryBuilder构建器,帮助SqlSessionFactory接口实现DefaultSqlSessionFactory类。
实现过程:创建XmlConfigBuilder解析全局配置文件流, 并把解析结果存放在Configuration中,之后把Configuratin 传递给DefaultSqlSessionFactory。到此SqlSessionFactory 工厂创建成功.
在这里插入图片描述

第3步:由SqlSessionFactory工厂创建SqlSession。
每次创建SqlSession 时,都需要由TransactionFactory 创建Transaction对象, 同时还需要创建SqlSession 的执行器Excutor, 最后实例化DefaultSqlSession传递给SqlSession 接口.
在这里插入图片描述

第4步: 根据业务需求,使用SqlSession 接口中的API 完成具体的事务操作。如果事务执行失败,需要进行rollback 回滚事务。如果事务执行成功commit给数据库,关闭SqlSession

到此就是MyBatis 的运行原理.(面试官说的.)

文章来源:https://blog.csdn.net/weixin_37646636/article/details/135783201
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。