
Mybatis
文章平均质量分 97
剖析原理,让你深入理解mybatis的原理及结构,教你如何自定义插件,如何解决问题
战斧
从事金融IT领域,具有多年开发与架构经验。始终相信,当你学习的越多,不明白的也就越多。分享已知,探索未知,时刻保持进取的姿态
展开
-
从@Param注解开始,深入了解 MyBatis 参数映射的原理
前几天组内一名同事在项目中发现了一个报错:Parameter 'id' not found. Available parameters are [userId, param1],说白了也就是也就是在xml中使用'id'参数,但实际上Mapper层方法却用的@Param("userId"),这就是明显对MyBtais的参数映射不太了解了。相信这一部分内容同样有不少同学是疏忽的,那么本期我们来看一下@Param注解的使用与原理原创 2024-06-28 09:11:24 · 13259 阅读 · 98 评论 -
MyBatis实用方案,如何使项目兼容多种数据库
上一次我们给大家详细讲解如何对接多数据源。不过对于一些toB的项目,因为客户指定的数据库不同,如何让自己的产品兼容多种数据库往往更迫切。本期我们就讲讲如何设置MyBatis,可以快速使项目兼容多种数据库原创 2024-05-24 20:42:39 · 10938 阅读 · 21 评论 -
巧用MybatisPlus的SQL注入器提升批量插入性能
上一次我们给大家详细讲解 MybatisPlus 的条件构造器wrapper。这次我们来讲另一个开发者需要了解的功能——SQL注入器,并以实战视角讲述如何利用该特性提升MybatisPlus 的批量插入性能原创 2024-05-20 18:21:47 · 10728 阅读 · 21 评论 -
MybatisPlus 构造器wrapper的使用与原理
上一次我们给大家讲解了何为MybatisPlus,我们使用它的目的以及它的主要特性。不过,对于一线开发而言,如何在代码中使用上它的特性才是重中之重,本期我们就来好好讲一下 MybatisPlus 中的条件构造器原创 2024-05-09 16:13:30 · 11301 阅读 · 12 评论 -
使用MybatisPlus还是MyBaits ,开发者应该如何选择?
前面我们说了不少关于myBtais的一些信息。而对于使用myBtais的开发者,或多或少知道它还有一个伙伴 —— MybatisPlus。顾名思义,MybatisPlus带个plus,也就是Mybatis的增强工具,它在myBatis的基础上提供了更多便捷的功能和拓展,旨在简化开发工作。对于没有接触过 MybatisPlus 的伙伴,我们本次就看看两者的差异,以及开发者该如何二选一?原创 2024-04-18 09:42:43 · 8298 阅读 · 43 评论 -
实战指南,SpringBoot + Mybatis 如何对接多数据源
在我们开发一些具有综合功能的项目时,往往会碰到一种情况,需要同时连接多个数据库,这个时候就需要用到多数据源的设计。而Spring 与 Myabtis 其实做了多数据源的适配,只需少许改动即可对接多数据源。本期我们就贴近实战,以一个单数据源的Demo为例,讲述将其改为多数据源项目的过程,希望大家能有所体会`原创 2023-08-15 20:34:01 · 16037 阅读 · 229 评论 -
数据库操作不再困难,MyBatis动态Sql标签解析
MyBatis的动态SQL功能极大地简化了数据库操作,使得针对不同查询需求的SQL语句生成变得灵活而高效。通过深入了解和掌握、、、、、、、和等核心标签,开发人员将大幅度减少因为参数不同,而写不同sql的麻烦,此时的sql会自己按预设逻辑变成不同的样式。因此,需要牢牢掌握。原创 2023-08-13 12:00:00 · 17269 阅读 · 181 评论 -
MyBtais 批量插入慢排查及分析(结局)
MyBatis痛点验证,使用 foreach 批量插入慢?上次做的验证,因为无法复现生产场景,最终失败,这次我们来看后续进一步的验证与排查现在终于告一段落了,至于Druid 为什么会这么慢,还是有隐藏的设置导致的,后面还会继续追查,更新在这里。但无论如何,至少也证明了罪责不在mybatis上,mybatis的运行还是十分快的,2000行*26字段的数据,参数填充仅需119ms,符合纯计算的速度另外,在测试过程中,发现mybatis的日志输出影响也很可观,如果有必要,关闭日志输出也能有不小的效率提升。原创 2023-06-18 06:23:00 · 1770 阅读 · 4 评论 -
MyBatis痛点验证,使用 foreach 批量插入慢?
mybatis的动态sql一直广受好评,因为节约了大量手动sql的麻烦,尤其是其中的foreach标签,在执行批量操作时,简直如虎添翼。但是相信不少人在使用中发现,使用foreach做批量操作有时会无与伦比的慢,可能长达数十秒甚至分钟级别,我们今天就来验证一下该现象。原创 2023-06-17 16:37:57 · 1969 阅读 · 1 评论 -
MyBatis+Springboot 启动到SQL执行全流程
本文我们将讲解Mybatis的动态sql是什么,以及从项目启动到sql执行全流程原创 2023-06-13 22:36:30 · 9292 阅读 · 1 评论 -
MyBatis四大组件Executor、StatementHandler、ParameterHandler、ResultSetHandler 详解
上次我们在说mybatis 的 plugin 功能的时候,提到了其可作用于myBatis 的四大组件,也放了一个基础的模型图,但是对于这四大组件更具体的功能和原理:却没有进一步说明,今天就来完成这项工作原创 2023-06-17 05:23:35 · 12583 阅读 · 4 评论 -
Mybatis plugin 的使用及原理
上次,我们说过了mybatis+springboot时的启动与执行流程,也介绍过mybatis的执行器和缓存,今天,我们来看看mybatis 的另一个大功能 —— plugin。原创 2023-06-15 00:11:18 · 7542 阅读 · 0 评论 -
Mybatis的CachingExecutor与二级缓存
上次我们讲Mybatis的缓存时,我们提到了CachingExecutor,知道了这个带缓存的执行器就是二级缓存的来源,这次我们系统的分析下其是如何产生作用的。原创 2023-06-01 22:45:40 · 3529 阅读 · 2 评论 -
MyBatis缓存原理
提示:自从上次发现mybatis缓存可被修改后,就一直想针对myBatis缓存单独做一期分析,包含其原理和运行方式,现在终于得空来详细写一篇了熟悉MyBatis的应该知道,MyBatis内置了两级缓存,会在查询数据库时,将查询结果缓存到内存中,以便下次查询时可以直接从缓存中获取数据,从而提高数据查询效率MyBatis缓存一般分为一级缓存和二级缓存。一级缓存是指MyBatis自身的缓存机制,是SqlSession级别的缓存。原创 2023-05-30 19:11:15 · 7369 阅读 · 1 评论