排序
水煮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 在焦虑不安的时间内,我只能祈祷我平安无事。 前言 最近在参加金石计划,在考虑写什么的时...
水煮MyBatis(十七)- 延迟加载(下)
前言 前面介绍了一些延迟加载功能里的基本组件和相应的使用方式,这一章主要从源码角度来分析其是如何实现此功能的。 懒加载执行序列图 注意:在执行invoke之前,有一些前置动作:主查询完成之...
MybatisPlus 使用技巧与隐患
前言 MP 从出现就一直有争议 感觉一直 都存在两种声音 ** 关注公众号:臻大虾,分享更多java干货** like: 很方便啊 通过函数自动拼接 Sql 不需要去 XML 再去使用标签 之前一分钟写好的 Sql 现...
《Mybatis 手撸专栏》第11章:流程解耦,封装结果集处理器
Mybatis 手撸专栏 第11章:流程解耦,封装结果集处理器 本文是《Mybatis 手撸专栏》的第11章,将介绍如何解耦流程并封装结果集处理器。我们将通过代码示例演示如何通过封装结果集处理器,实现更...
从实践中去探究Mybatis中的中介者模式实现
一、前言 中介者模式的核心思想是将对象间的交互行为集中在一个中介者对象中,从而降低对象之间的耦合度。在mybatis中,中介者模式被广泛应用于Session对象的创建和管理中。 具体来说,mybatis...
SpringBoot中如何对数据访问层进行单元测试?
前言 我们公司作为一个面向银行、金融机构的TO B类企业,频繁遇到各个甲方爸爸提出的国产化数据库的改造需求,包括OceanBase, TiDB,geldenDB等等。每次适配都需要投入大量的人力进行测试工作,...
Idea Mybatis插件:提高CRUD效率
mybatis-sql-viewer插件主要提供能力:将mybatis xml转成真实SQL语句、参数mock、SQL规范检查、SQL索引检查、SQL运行、SQL压测及Mybatis SQL语句扫描。 1. 简介 虽然写了很久的CRUD,但是依旧觉...
Mybatis源码分析2
10. 源码剖析-获取Mapper代理对象流程 入口:DefaultSqlSession#getMapper 从Configuration对象中,根据Mapper接口,获取Mapper代理对象 @Override public <T> T getMapper(Cla...
《Mybatis 手撸专栏》第10章:使用策略模式,调用参数处理器
Mybatis 手撸专栏 第10章:使用策略模式,调用参数处理器 引言 欢迎来到《Mybatis 手撸专栏》的第10章!在本章中,我们将介绍如何使用策略模式来调用参数处理器,以提高Mybatis框架中的数据处理...
MyBatis我们重新认识一下
概述 定义 MyBatis官网 mybatis.org/mybatis-3/ 最新版本为3.5.9 MyBatis是一个的ORM框架,支持自定义SQL、存储过程和高级映射。MyBatis对JDBC做了稳定封装使我们不再需要直接操作繁琐JDBC的...
MyBatis Generator入门配置
在日常开发中使用mybatis作为持久层框架要写entity,dao,mapper接口,mapper.xml做CRUD这些重复操作,mybatis官方提供了MyBatis Generator为我们做这些工作。 由于使用该插件有很多方式,目前...