MyBatis,这个名字在Java开发者的世界中犹如一道光芒,照亮着持久层操作的道路。而在MyBatis的映射文件中,动态SQL则是一个让人爱-hate的存在。有时候,你感叹它的灵活性,有时候,你可能会为它的繁琐而头痛。但别担心,我们将在本文中一起揭开动态SQL的神秘面纱,带你领略它的魅力。背景MyBatis的映射文件是定义SQL语句的地方,而动态SQL则是
......
193
0
0
2024-05-07
mybatis缓存源码分析背景在java程序与数据库交互的过程中永远存在着性能瓶颈,所以需要一直进行优化.而我们大部分会直接将目标放到数据库优化,其实我们应该先从宏观上去解决问题进而再去解决微观上的问题.性能瓶颈体现在什么地方呢?第一网络通信开销,网络数据传输通信.一般jdbc的连接和创建一个个线程都需要网络开销.第二我们常用的比如mysql.Oracle这
......
243
0
0
2024-04-22
场景复现数据库初始化有9条记录。当我通过分页插件去查询数据库时,查询第2页,每页10条记录时,查询的结果竟然有9条数据。结果显然不合理,因为我查询第2页,按照逻辑应该查询第11-20条记录,因此不存在,所以返回为空,但是现在却返回9条记录。疑问如下:为什么返回数据???为什么返回9条数据???解决办法pagehelper:
# helperDialect
......
214
0
0
2024-02-27
写作目的最近看到了一篇MyBatis的分页实现原理,文章里描述到使用ThreadLocal,其实想主要想看看ThreadLocal的巧妙使用,并且看一下分页是如何实现的。源码下载ChaiRongD/Demooo - Gitee.com源码跟踪其实一个简单的分页如下面代码所示,使用PageHelp对象设置分页的参数,然后把查询到的List对象作为参数传入Pag
......
275
0
0
2024-02-27
文章来源最近遇到了项目需要用到MybatisPlus,所以想自己整理一篇demo,自己当笔记本查阅源码下载亲测有效https://github.com/cbeann/Demooo/tree/master/springboot-mybatisplus-demo实践pom <dependency>
<groupId&g
......
375
0
0
2024-02-27
SpringBoot实战电商项目mall(40k+star)地址: 简介 mybatis Generator(简称MBG)是MyBatis官方提供的代码生成工具。可以通过数据库表直接生成实体类、单表CRUD代码、mapper.xml文件,从而解放我们的双手! 开始使用首先我们通过一个入门示例将MBG用起来,该示例会包含基础的CRUD操作。 集成MBG在
......
211
0
0
2024-02-26
环境1 MySQL2 Spring Tool Suite ,和Eclipse操作差不多,但是不推荐用Eclipse构建项目(第一种方式:无***Mapper.xml)新建项目File ----->New ----->Spring Starter Project生成的pom.xml如下所示<?xml version="1.0" encodin
......
281
0
0
2024-02-26
MybatisMybatis介绍什么是Mybatis?mybatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架。Mybatis优点几乎消除了JDBC代码和参数的手动设置消除结果集的检索使用XML或注解用于配置和原始映射,将接口和POJOs(实体类)映射成数据库中的记录。Mybatis特点简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装
......
290
0
0
2024-02-23
一、简介前面一篇文章我们对Mybatis整体的执行流程做了一个详细的总结,可进入专栏查看;本篇文章我们将分析一下配置信息是如何解析的以及SqlSessionFactory创建过程。二、配置信息解析过程下面我们通过Debug方式点查看Mybatis如何获取配置文件://1、读取配置文件
String resource = "mybatis-config.xm
......
191
0
0
2024-02-21
一、概述前面一篇文章我们已经搭建好了Mybatis的源码调试环境,那么今天我们先来看看MyBatis整体的执行流程是怎样的,先对整体有个了解,后面我们再针对各个细节进行分析。在分析执行流程之前,我们先对Mybatis中几个核心类做个简单的介绍。二、Mybatis核心类Mybatis核心类主要有下面几个:SqlSessionFactory每个基于 MyBati
......
228
0
0
2024-02-21
一、简介使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等,都值得我们去学习和借鉴。下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。MyBatis 是一款优秀的持久层框架,它支持自定义 S
......
193
0
0
2024-02-21
1. 注解 开发 我们也可以使用注解的形式来进行开发,用注解来替换掉xml。 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句, Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句 更加混乱不堪。 所以我们在实际企业开发中一般都是使用XML的形式。 1.1 步骤①在核心配置文件中配置mapper接口所在的包名 xml &
......
267
0
0
2024-01-25
Bean Searcher 号称 任何复杂的查询都可以 一行代码搞定,但 Mybatis Plus 似乎也有类似的动态查询功能,它们有怎样的区别呢?区别一(基本)Mybatis Plus 依赖 MyBatis, 功能 CRUD 都有,而 Bean Seracher 不依赖任何 ORM,只专注高级查询。只有使用 MyBatis 的项目才会用 Mybatis P
......
203
0
0
2024-01-09
一. 背景 在平常的开发中,我们可能会有这样的需求: 业务数据在存储的时候,并不是以 mysql 中的 varchar 丶 int 等格式来存储的,而是使用 JSON 格式. 这样做的好处是当数据结构有变化或者需求变化时,我们不用再添加字段,方便扩展. 那么mysql中 json 格式的数据我们使用 mybatis 或者myb
......
411
0
0
2023-12-10
推荐学习前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中 sql语句 的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandl
......
241
0
0
2023-10-19