场景复现数据库初始化有9条记录。当我通过分页插件去查询数据库时,查询第2页,每页10条记录时,查询的结果竟然有9条数据。结果显然不合理,因为我查询第2页,按照逻辑应该查询第11-20条记录,因此不存在,所以返回为空,但是现在却返回9条记录。疑问如下:为什么返回数据???为什么返回9条数据???解决办法pagehelper: # helperDialect ......
81
0
0
2024-02-27
写作目的最近看到了一篇MyBatis的分页实现原理,文章里描述到使用ThreadLocal,其实想主要想看看ThreadLocal的巧妙使用,并且看一下分页是如何实现的。源码下载ChaiRongD/Demooo - Gitee.com源码跟踪其实一个简单的分页如下面代码所示,使用PageHelp对象设置分页的参数,然后把查询到的List对象作为参数传入Pag ......
66
0
0
2024-02-27
文章来源最近遇到了项目需要用到MybatisPlus,所以想自己整理一篇demo,自己当笔记本查阅源码下载亲测有效https://github.com/cbeann/Demooo/tree/master/springboot-mybatisplus-demo实践pom <dependency> <groupId&g ......
157
0
0
2024-02-27
SpringBoot实战电商项目mall(40k+star)地址: 简介 mybatis Generator(简称MBG)是MyBatis官方提供的代码生成工具。可以通过数据库表直接生成实体类、单表CRUD代码、mapper.xml文件,从而解放我们的双手! 开始使用首先我们通过一个入门示例将MBG用起来,该示例会包含基础的CRUD操作。 集成MBG在 ......
75
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 ......
69
0
0
2024-02-26
MybatisMybatis介绍什么是Mybatis?mybatis是支持普通SQL查询、存储过程和高级映射的优秀持久层框架。Mybatis优点几乎消除了JDBC代码和参数的手动设置消除结果集的检索使用XML或注解用于配置和原始映射,将接口和POJOs(实体类)映射成数据库中的记录。Mybatis特点简单易学:本身就很小且简单。没有任何第三方依赖,最简单安装 ......
73
0
0
2024-02-23
一、简介前面一篇文章我们对Mybatis整体的执行流程做了一个详细的总结,可进入专栏查看;本篇文章我们将分析一下配置信息是如何解析的以及SqlSessionFactory创建过程。二、配置信息解析过程下面我们通过Debug方式点查看Mybatis如何获取配置文件://1、读取配置文件 String resource = "mybatis-config.xm ......
72
0
0
2024-02-21
一、概述前面一篇文章我们已经搭建好了Mybatis的源码调试环境,那么今天我们先来看看MyBatis整体的执行流程是怎样的,先对整体有个了解,后面我们再针对各个细节进行分析。在分析执行流程之前,我们先对Mybatis中几个核心类做个简单的介绍。二、Mybatis核心类Mybatis核心类主要有下面几个:SqlSessionFactory每个基于 MyBati ......
71
0
0
2024-02-21
一、简介使用Mybatis有一段时间了,但是一直没有专门去阅读MyBatis框架的源码,Mybatis是一个非常值得我们去阅读的框架,源码里面运用了很多常见的设计模式,如构建者模式、代理模式、模板方法模式等等,都值得我们去学习和借鉴。下面我们就以搭建一个源码阅读环境开始,一起来看看Mybatis的源码。MyBatis 是一款优秀的持久层框架,它支持自定义 S ......
66
0
0
2024-02-21
1. 注解 开发 我们也可以使用注解的形式来进行开发,用注解来替换掉xml。 使用注解来映射简单语句会使代码显得更加简洁,但对于稍微复杂一点的语句, Java 注解不仅力不从心,还会让你本就复杂的 SQL 语句 更加混乱不堪。 所以我们在实际企业开发中一般都是使用XML的形式。 ​ 1.1 步骤①在核心配置文件中配置mapper接口所在的包名 xml & ......
97
0
0
2024-01-25
Bean Searcher 号称 任何复杂的查询都可以 一行代码搞定,但 Mybatis Plus 似乎也有类似的动态查询功能,它们有怎样的区别呢?区别一(基本)Mybatis Plus 依赖 MyBatis, 功能 CRUD 都有,而 Bean Seracher 不依赖任何 ORM,只专注高级查询。只有使用 MyBatis 的项目才会用 Mybatis P ......
76
0
0
2024-01-09
一. 背景 在平常的开发中,我们可能会有这样的需求: 业务数据在存储的时候,并不是以 mysql 中的 varchar 丶 int 等格式来存储的,而是使用 JSON 格式. 这样做的好处是当数据结构有变化或者需求变化时,我们不用再添加字段,方便扩展. 那么mysql中 json 格式的数据我们使用 mybatis 或者myb ......
208
0
0
2023-12-10
推荐学习前言 MyBatis可能很多人都一直在用,但是MyBatis的SQL执行流程可能并不是所有人都清楚了,那么既然进来了,通读本文你将收获如下: 1、Mapper接口和映射文件是如何进行绑定的2、MyBatis中 sql语句 的执行流程3、自定义MyBatis中的参数设置处理器typeHandler4、自定义MyBatis中结果集处理器typeHandl ......
127
0
0
2023-10-19
前言Mybatis 是 Java 开发中比较常用的 ORM 框架。在日常工作中,我们都是直接通过 Spring Boot 自动配置,并直接使用,但是却不知道 Mybatis 是如何执行一条 SQL 语句的,而这篇文章就是来揭开 Mybatis 的神秘面纱。基础组件我们要理解 Mybatis 的执行过程,就必须先了解 Mybatis 中都有哪一些重要的类, ......
130
0
0
2023-10-12
1-5 MyBatisPlus集成 接下来我们完成一个品牌的CRUD操作、我们会集成MyBatisPlus来实现。 1、MyBatis Plus介绍 MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 MyBatis Plus特性: 无侵入 :只做增强不做 ......
185
0
0
2023-10-07