关于Mybatis的执行原理

简介: 个人学习总结

1 读取MyBatis配置文件:mybatis-config.xml加载运行环境和映射文件
2 构造会话工厂SqlSessionFactory,一个项目只需要一个,单例的,一般由
spring进行管理
3 会话工厂创建SqlSession对象,这里面就含了执行SQL语句的所有方法

SqlSession会执行getMapper的注解 实际上获取的就是@Mapper对应的映射xml的信息

所以前提就是要用@Mapper这个注解

然后创建一个动态代理的对象image.png
这个时候我们执行的信息都会放在mapper里面了

然后实际上是由Statement还是prepareStatment执行sql语句的封装在MappedStatement里面

MappedStatement作为方法参数 在通过我们的执行器执行

image.png
但是究其根本 mybatis框架是底层是jdbc 所以更底层实际上执行的就是jdbc里面的Statement还是prepareStatment

只不过相对于mybatis框架的深度而言 就是执行器执行的

4 操作数据库的接口,Executor执行器,同时负责查询缓存的维护

是先操作sql语句 进入执行之后才是对sql参数的映射
5 Executor接口的执行方法中有一个MappedStatement类型的参数,封装了
映射信息

相关文章
|
6月前
|
SQL XML Java
|
6月前
|
SQL XML Java
一文搞懂Mybatis执行原理
一文搞懂Mybatis执行原理
168 1
|
6月前
|
SQL Java 数据库连接
mybatis常见分页技术和自定义分页原理实战
mybatis常见分页技术和自定义分页原理实战
237 0
|
9天前
|
SQL Java 数据库连接
Mybatis架构原理和机制,图文详解版,超详细!
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。本文详细解析了MyBatis的架构原理与机制,帮助读者全面提升对MyBatis的理解和应用能力。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Mybatis架构原理和机制,图文详解版,超详细!
|
1月前
|
SQL XML Java
Mybatis的原理和MybaitsPlus
这篇文章对比分析了Mybatis和Mybatis Plus的特点与底层实现机制,探讨了两者之间的差异及各自的优势。
63 0
|
4月前
|
SQL Java 数据库连接
springboot~mybatis-pagehelper原理与使用
【7月更文挑战第15天】MyBatis-PageHelper是用于MyBatis的分页插件,基于MyBatis的拦截器机制实现。它通过在SQL执行前动态修改SQL语句添加LIMIT子句以支持分页。使用时需在`pom.xml`添加依赖并配置方言等参数。示例代码: PageHelper.startPage(2, 10); List<User> users = userMapper.getAllUsers(); PageInfo<User> pageInfo = new PageInfo<>(users); 这使得分页查询变得简单且能获取总记录数等信息。
110 2
|
5月前
|
SQL Java 数据库连接
深入探索MyBatis Dynamic SQL:发展、原理与应用
深入探索MyBatis Dynamic SQL:发展、原理与应用
|
4月前
|
SQL Java 数据库连接
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
Java面试题:简述ORM框架(如Hibernate、MyBatis)的工作原理及其优缺点。
77 0
|
5月前
|
Java 数据库连接 数据库
MyBatis TypeHandler详解:原理与自定义实践
MyBatis TypeHandler详解:原理与自定义实践
|
5月前
|
SQL Java 数据库连接
MyBatis插件深度解析:功能、原理、使用、应用场景与最佳实践
MyBatis插件深度解析:功能、原理、使用、应用场景与最佳实践
下一篇
无影云桌面