排序
源码学习之MyBatis的底层查询原理 | 京东云技术团队
导读 本文通过MyBatis一个低版本的bug(3.4.5之前的版本)入手,分析MyBatis的一次完整的查询流程,从配置文件的解析到一个查询的完整执行过程详细解读MyBatis的一次查询流程,通过本文可以详细...
水煮MyBatis(十一)- 事务
前言 在springboot中,如果需要启用事务,有两个核心注解是不能缺失的: @EnableTransactionManagement 在Application上添加; @Transactional 在方法或者类上添加; 在这里以MySQL举例 事务语...
MybatisPlus两个limit引发的思考(上)——@MapperScan是如何生效的
前言 有天下午正在写代码,测试同学突然和我说“合集列表”出现问题,立即进行定位通过trace_id找到了ERRO日志,发现是SQL syntax error出现了两个limit,立即查看mapper.xml查看是不是合并代码...
MyBatis我们重新认识一下
概述 定义 MyBatis官网 mybatis.org/mybatis-3/ 最新版本为3.5.9 MyBatis是一个的ORM框架,支持自定义SQL、存储过程和高级映射。MyBatis对JDBC做了稳定封装使我们不再需要直接操作繁琐JDBC的...
从实践中去探究Mybatis中的中介者模式实现
一、前言 中介者模式的核心思想是将对象间的交互行为集中在一个中介者对象中,从而降低对象之间的耦合度。在mybatis中,中介者模式被广泛应用于Session对象的创建和管理中。 具体来说,mybatis...
水煮MyBatis(三)- SQL解析
前言 在Mapper接口中,有注解的方法,也有xml配置的方法,这一章我们主要介绍前者。 本文介绍的Mapper方法 @Select('select * from tb_image where md5 = #{md5}') ImageInfo byMd5(@Param(valu...
水煮MyBatis(四)- 方法执行过程
前言 接上章,容器启动之后,给mapper接口中的方法生成了statement,就是为了下一步执行的时候,直接取用,这一章就详细聊聊这块的源代码。与标准的SQL语句不同,mybatis里参数的赋值是通过#或...
Mybatis的parameterType造成线程阻塞问题分析
一、前言 最近在新发布某个项目上线时,每次重启都会收到机器的 CPU 使用率告警,查看对应监控,持续时长达 5 分钟,对于服务重启有很大风险。而该项目有非常多 Consumer 消费,服务启动后会有...
Mybatis的parameterType造成线程阻塞问题分析 | 京东云技术团队
一、前言 最近在新发布某个项目上线时,每次重启都会收到机器的 CPU 使用率告警,查看对应监控,持续时长达 5 分钟,对于服务重启有很大风险。而该项目有非常多 Consumer 消费,服务启动后会有...