排序
水煮MyBatis(十二)- 缓存【上】
前言 缓存是Mybatis里比较有意思的一个特性,一定程度上可以提高查询效率,降低数据库I/O压力。应对的场景是这样:在短时间内,频繁的反复执行相同的查询语句,如果任由其调用数据库,会对系统...
SpringBoot项目的创建和开发+Mybatis和MybatisPlus开发
工欲善其事必先利其器。 码字不易,喜欢就点个关注❤,持续更新技术内容。 1 Web架构技术基础 BS架构:Browser/Server,浏览器/服务器架构模式 CS架构:Client/Server,客户端/浏览器架构模式 1...
《Mybatis 手撸专栏》第16章:解析含标签的动态SQL语句
Mybatis 手撸专栏 第16章:解析含标签的动态SQL语句 引言 欢迎来到Mybatis 手撸专栏!在本章中,我们将聚焦于解析含标签的动态SQL语句。动态SQL是Mybatis框架中非常强大的功能之一,它允许我们...
Mybatis的parameterType造成线程阻塞问题分析 | 京东云技术团队
一、前言 最近在新发布某个项目上线时,每次重启都会收到机器的 CPU 使用率告警,查看对应监控,持续时长达 5 分钟,对于服务重启有很大风险。而该项目有非常多 Consumer 消费,服务启动后会有...
Mybatis-SQL分析组件
背景 大促备战,最大的隐患项之一就是慢sql,带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,而且对sql好坏的评估有一定的技术要求,有一些缺乏经验或者因为不够仔细造成一...
水煮MyBatis(十三)- 二级缓存
前言 相比一级缓存而言,二级缓存的实现类就很丰富了,还支持开发者自定义缓存实现。上一章提到过缓存执行器:CachingExecutor,就是专门为二级缓存准备的。默认的二级缓存驱除策略:LruCache。...
Spring Boot整合MyBatis-Plus详细指南
引言: MyBatis Plus是在MyBatis基础上的增强工具,提供了更加便捷的开发方式。本文将详细介绍如何整合Spring Boot和MyBatis Plus,以及如何使用它们来开发数据库操作。让我们开始吧! 1. 引入...
《Mybatis 手撸专栏》第20章:整合Spring
Mybatis 手撸专栏 第20章:整合Spring 引言 在前几篇文章中,我们详细介绍了 Mybatis 的基本使用和高级特性,以及二级缓存的原理和优化策略。然而,对于实际的项目开发而言,仅仅使用 Mybatis ...
Mybatis的parameterType造成线程阻塞问题分析
一、前言 最近在新发布某个项目上线时,每次重启都会收到机器的 CPU 使用率告警,查看对应监控,持续时长达 5 分钟,对于服务重启有很大风险。而该项目有非常多 Consumer 消费,服务启动后会有...
Mybatis插件的基本原理
MyBatis 提供了一种插件 (plugin) 的功能,虽然叫做插件,但其实这是拦截器功能。 我们下文中统一称为拦截器 一 . 拦截器的作用 MyBatis允许使用者在映射语句执行过程中的某一些指定的节点进行...
水煮MyBatis(十四)- 细说缓存刷新机制
前言 连续写几个大章节,乏了,这一章写点轻松的。什么是tcm,其实在上一章有提到,是CachingExecutor的一个类属性【TransactionalCacheManager 】,主要用来处理二级缓存的刷新逻辑。tcm里包含...
最新版Mybatis-plus3.5.X全面攻略(三)简易租户隔离
第二章:最新版Mybatis-plus3.5.0全面攻略(一)代码生成器和初步使用 第二章:最新版Mybatis-plus3.5.0全面攻略(二)自动填充和逻辑删除的实际方案 前言 我们在生产环境或多或少会要遇到租户隔离...
《Mybatis 手撸专栏》第6章:数据源池化技术实现
Mybatis 手撸专栏 第6章:数据源池化技术实现 引言 欢迎来到《Mybatis 手撸专栏》的第6章!在本章中,我们将深入探讨数据源池化技术的实现方式。数据源池化是一种常用的技术,通过对数据库连接...
水煮MyBatis(四)- 方法执行过程
前言 接上章,容器启动之后,给mapper接口中的方法生成了statement,就是为了下一步执行的时候,直接取用,这一章就详细聊聊这块的源代码。与标准的SQL语句不同,mybatis里参数的赋值是通过#或...
MyBatis实现动态SQL更新
博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活 ?),跟我说有几个业务列表查询需要加上时间条件过滤数据,这个条件可能会变,不保证以后不修改,这个改动涉及到多...
水煮MyBatis(十六)- 延迟加载(上)
前言 延迟加载,也叫懒加载,是一种对象关联关系的加载方式,被设计用来避免一些无谓的系统性能损耗。毕竟在正常情况下,一个关联对象只有被访问的时候,才有必要去显示;而若所有的访问都返回...
MyBatis居然也有并发问题
为了节省dalaos时间先说结论:确实是个问题,issue链接:github.com/mybatis/myb… 下面就是源码分析环节,及处理过程,感兴趣的可以看看。 bug,任何时候都要解决!不解决不行,你们想想,你早...
《Mybatis 手撸专栏》第3章:实现映射器的注册和使用
Mybatis 手撸专栏 第3章:实现映射器的注册和使用 欢迎来到《Mybatis 手撸专栏》的第3章!在本章中,我们将深入探讨如何实现 Mybatis 映射器的注册和使用。映射器是 Mybatis 中负责定义数据库访...
水煮MyBatis(三)- SQL解析
前言 在Mapper接口中,有注解的方法,也有xml配置的方法,这一章我们主要介绍前者。 本文介绍的Mapper方法 @Select('select * from tb_image where md5 = #{md5}') ImageInfo byMd5(@Param(valu...
学会自己编写Mybatis插件(拦截器)实现自定义需求
本文正在参加「金石计划」。本文已同步于同名公众号《宁在春》 感兴趣的小伙伴,可以点个关注吗~~ hh 在焦虑不安的时间内,我只能祈祷我平安无事。 前言 最近在参加金石计划,在考虑写什么的时...