mybatis执行sql的流程

本文详细阐述了MyBatis框架在项目启动时的执行流程,包括配置文件加载、SqlSessionFactory与SqlSession创建过程,以及如何通过动态代理实现SQL执行与结果封装。深入探讨了MyBatis内部机制,为读者提供了全面的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我不太喜欢在文章中添加代码,所以我会把我的个人理解写进去,至于源码自己去看,流程如下:

1.在项目启动时会加载mybaits的配置文件,里边包含很多东西(不举例);

2.加载配置文件的时候,会产生一个InputStream流的对象;

3.根据InputStream流对象解析出Configuration对象,然后创建SqlSessionFactory工厂对象;

4.从SqlSessionFactory工厂中创建SqlSession(sqlSession中getMapper(xx.class)获取到xml(DefaultSqlSession.Java)configuration.getMapper()在Configuration.java中调用了mapperRegistry.getMapper(type, sqlSession)在MapperRegistry.java中实现了动态代理来找到执行的sql);

5.从SqlSession中调用Executor执行数据库操作&&生成具体SQL指令;

6.对执行结果进行二次封装;

7.提交事务,返回结果集;

盗图一张:

之前看到非常好的一张mybatis,结果现在找不到了,提醒读者们,看到好的东西一定要收藏一下!!!! 切记切记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值