时间:2021-05-20
MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 POJOs(Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
一、通过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详细执行流程的文章就介绍到这了,更多相关MyBatis执行流程内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
11月11日消息,截至16:19,时尚女性品牌MG销售额破1923万元,超越2018年全纪录。【本文来源:EbrunGo。亿邦开发的自动化新闻写作机器人,第一时
本文主要介绍的是关于mybatis通过接口查找对应mapper.xml及方法执行的相关内容,下面话不多说,来看看详细的介绍:在使用mybatis的时候,有一种方
大三女生的淘奴生活全纪录。以后大家都叫我淘宝妹算了,呵呵!嗨,大家好。这是我第一次发帖哦。随便说点啦——说下我的淘宝历程吧首先我承认我败
1.什么是逆向工程mybaits需要程序员自己编写sql语句,mybatis官方提供逆向工程可以针对单表自动生成mybatis执行所需要的代码(mapper.j
查看代码执行mybatis的sql语句File–>Settings–>Plugins搜索MyBatisLogPluginInstalled安装之后重启,点击上方