本篇内容介绍了“MyBatis详细执行流程的介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Mybatis简介
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
mybatis详细执行流程
一、通过Resource去加载全局配置文件
import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.SqlSession;import org.apache.ibatis.session.SqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;public class MyBatisUtils { private static SqlSessionFactory sqlSessionFactory; static { try { String resource = "mybatis-config.xml"; InputStream inputStream = Resources.getResourceAsStream(resource); sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } catch (IOException e) { e.printStackTrace(); } } public static SqlSession getSqlSession() { return sqlSessionFactory.openSession(); }}
二、实例化sqlSessionFactoryBuilder构造器
三、通过build中XmlConfigBuilder类去解析文件流以及环境和属性
四、 将配置信息存放到Configuration中
五、然后实例化SqlSessionFactory实现类DefaultSqlSessionFactory此时进入底层实现流程
六、由TransactionFactory 创建一个Transaction事务对象
七、创建执行器Excutor,去执行mapper
八、 创建SqlSession接口实现类DefaultSqlSession
SqlSession sqlSession = MybatisUtils.getSqlSession()UserMapper mapper = sqlSession.getMapper(UserMapper.class);
九、 实现CURD
十、判断是否执行成功,若没有则回滚到事务提交器
十一、 事务提交
sqlSession.commit();
十二、 关闭
sqlSession.close();
后序
努力去看源码,加以理解分析
并且熟练使用DeBug模式来调试程序,以及查看代码底层是如何实现的。
“MyBatis详细执行流程的介绍”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!