Mybatis动态SQL?foreach批量操作方法
目录动态SQL Foreach批量操作前言前置必要知识MySQL批量插入MySQL批量查询MySQL批量修改MySQL批量删除使用mybatis中的foreach进行批量操作foreach标签的各个属性批量插入批量查询批量修改批量删除总结 动态SQL Foreach批量操作 前言 最近正在研...[2023/3/22]
Mybatis批量插入大量数据的最优方式总结
目录Mybatis批量插入的方式有三种下面对这三种分别进行比较:1.普通插入2.foreach 优化插入3.ExecutorType.BATCH插入总结: Mybatis批量插入的方式有三种 1. 普通插入 2. foreach 优化插入 3. ExecutorType.BATCH插入 ...[2023/3/20]
Mybatis使用大于等于或小于等于进行比较
目录前言常见转义符前提声明使用CDATA 区段测试总结 前言 今天有一个需求,把之前的判断逻辑进行修改,之前我是用大于(>)小于(<)进行对比的,但是今天让改成大于等于(>=)和小于等于(<=)进行比较 本来以为是一个很简单的操作。 但是还是菜了不少坑的,今天就和...[2023/3/17]
MybatisPlus使用聚合函数的示例代码
目录前言方式1 通过select自定义sql求一个sum求多个sum方式2 xml手写原生sql总结 前言 今天遇到了一个求总数返回的情况,我一想这不是用sum就完事了吗。 但是仔细想想,MybatisPlus好像没有直接使用sum的api。 虽然没有直接提供,但是办法还是有的,下面就分...[2023/3/17]
如何规避MyBatis使用过程中带来的全表更新风险
作者:京东零售 贾玉西 一、前言 程序员A: MyBatis用过吧? 程序员B: 用过 程序员A: 好巧,我也用过,那你遇到过什么风险没?比如全表数据被更新或者删除了。 程序员B: 咔,还没遇到过,这种情况需要跑路吗? 程序员A: 哈哈,不至于。但使用过程中,由于业务数据校验不当,确实...[2023/3/14]
MyBatis的使用三(在sql语句中传值)
本文主要介绍在mybatis中如何在sql语句中传递参数 一. #{ } 和 ${ } 1. #{ } 和 ${ }的区别 #{ }是预编译处理 ==> PreparedStatement ${ }是字符串替换 ==> Statement mybatis在处理 ...[2023/2/3]
MyBatis?Generator?ORM层面的代码自动生成器(推荐)
在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(POJO)、用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML。这都是一些重复性的操作,不需要多大技术含量。MyBatis Generator工具,能够帮助我们去自动生成这些文件。 MyBatis Genera...[2023/2/1]
【项目实战】从零到一搭建Spring Boot整合Mybatis-plus
前言 2023年想搭建一套属于自己的框架,做一个属于自己想法的项目。这些年工作中一直用公司已有的框架,以前有跟着学习视频搭建过,但自己真正动手搭建时发现问题还是很多,比如没有引入Mybatis-plus包之前,项目api test是成功的,引入Mybatis-plus包后就一直启动不成功,而且异...[2023/1/20]
Java开发学习(五十)----MyBatisPlus快速开发之代码生成器解析
1、代码生成器原理分析 造句: 我们可以往空白内容进行填词造句,比如: 在比如: 观察我们之前写的代码,会发现其中也会有很多重复内容,比如: 那我们就想,如果我想做一个Book模块的开发,是不是只需要将红色部分的内容全部更换成Book即可,如: 所以我们会发现,做任何模块的开发...[2023/1/6]
SpringBoot源码2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,mybatis如何进行数据库操作)
阅读本文需要spring源码知识,和springboot相关源码知识 对于springboot 整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过 系列文章目录和关于我 涉及到spring ioc原理,可移步学习:Spring源码学习笔记12——总结篇IOC,Bea...[2022/12/12]
SpringBoot整合Mybatis与thymleft实现增删改查功能详解
首先我们先创建项目 注意:创建SpringBoot项目时一定要联网不然会报错 项目创建好后我们首先对 application.yml 进行编译 #指定端口号server: port: 8888#配置mysql数据源spring: datasource...[2022/12/5]
Mybatis缓存机制
什么是缓存? 为什么使用缓存? 什么场景下使用缓存? 缓存(Cache)就是数据交换的缓冲区,一个临时存储数据的地方,当我们读取数据时会首先从缓存中查找需要的数据,如果找到了则直接执行,找不到的话再从内存中找。 在实际开发中,我们会经常对数据库进行数据查询,而从数据库读取数据的效率是非常低下的...[2022/12/2]
MyBatis中foreach标签的collection属性的取值方式
目录foreach标签的collection属性的取值传的是List列表传的是Array数组传的是Mapcollection属性总结MyBatis使用foreach标签报错原因解决方案 foreach标签的collection属性的取值 传的是List列表 接口代码 List<Em...[2022/8/23]
MyBatis-Plus乐观锁插件的用法小结
目录什么是乐观锁:简介说明官网网址配置乐观锁插件Entity测试 什么是乐观锁: 就是我们每一次操作数据后,我们就会更改他的版本号,当另外的线程若想要对该数据进行操作,检查版本号是否与自己获得的版本号一致,如果不一致,那么我们就会取消该操作。 简介 说明 本文介绍Mybatis-Pl...[2022/8/23]
SpringBoot整合Mybatis简单实现增删改查
目录前言第一:创建MySQL数据库第二:创建SpringBoot项目,引入需要的依赖包第三:创建程序目录和配置核心application.xml文件第四:依次编写Entity、Dao、Service、Controller层,还有创建mapper.xml文件第五:测试结果(这里我用的postman来进...[2022/8/22]
MyBatis拦截器的实现原理
目录前言 1.使用方法2.MyBatis对象的创建3.代理对象的创建3.1 拦截器的获取3.2 代理对象的创建4. 拦截器的执行过程5. 拦截器的执行顺序 前言 Mybatis拦截器并不是每个对象里面的方法都可以被拦截的。Mybatis拦截器只能拦截Executor、Statement...[2022/8/22]
Mybatis使用连表查询的操作代码
某天,产品经理给了这么一个需求技术小哥,能不能帮用户添加一个搜索栏,查询包含某个关键字的所有类目。技术小哥稍微想了一下,目前跟类目相关的表有两个,一个是content_category类目表,一个是content_system内容系统表。而用户要查找的关键字是存在content_system表里面...[2022/8/22]
MyBatis-Plus实现条件查询的三种格式例举详解
目录常规格式链式编程格式lambda格式(推荐)条件查询null判定 常规格式 常规格式即创建一个Wrapper的实现类QueryWrapper对象,将其传给selectList方法内部 QueryWrapper qw = new QueryWrapper(); lt是小于,id...[2022/8/16]
MyBatis流式查询的项目实践
目录1.应用场景说明 MyBatis2.模拟excel导出场景1.创建海量数据的sql脚本2.MyBatis流式查询3.Excel通用导出工具类4.测试结果5.遗留问题,待处理 1.应用场景说明 MyBatis preview: JDBC三种读取方式:1.一次全部(默认):一次获取全部。2.流式...[2022/8/16]
mybatis中关于type-aliases-package的使用
目录关于type-aliases-package的使用关于type-aliases-package使用的几个问题 关于type-aliases-package的使用 springboot项目中的application.yml文件中的mybatis:type-aliases-package:什么时...[2022/8/16]
MyBatis?多表联合查询及优化方法
目录背景正文关于优化 这篇文章我打算来简单的谈谈 mybatis 的多表联合查询。起初是觉得挺简单的,没必要拿出来写,毕竟 mybatis 这东西现在是个开发的都会用,而且网上的文章也是一搜罗一大堆,根本就用不着我来重复。但是吧,就我前几天在做一个多表联合查询的时候,竟然出了很多意想不到的问题,而且...[2022/8/2]
MyBatisPlus代码生成器的原理及实现详解
目录一、代码生成器原理分析二、代码生成器实现 一、代码生成器原理分析 我们在观察之前写的代码的时候,会发现很多重复的内容。 一个Book模板,,只需要把红色部分的内容全部更换成Book即可。 所以任何模板的开发,对于这段代码基本都是对红色部分的调整,所...[2022/8/2]
Java?Mybatis框架由浅入深全解析上篇
目录学习路线什么是三层架构常用的SSM框架(了解)什么是框架什么是Mybatis框架添加框架的步骤1.新建库建表2.新建maven项目3.修改目录4.修改pom.xml文件5.修改pom.xml文件总结 学习路线 什么是三层架构 在项目开发中,遵循一种形式模式,分为三层。 界面层:...[2022/7/20]
Java?Mybatis框架由浅入深全解析中篇
目录前言添加框架的步骤在idea中添加数据库的可视化添加jdbc.properties属性文件(数据库配置)添加SqlMapCongig.xml创建实体类Student用来封装数据添加增删改查创建测试类进行功能测试总结 前言 上一篇我们了解了框架相关知识,并且导入依赖配置了核心文件,今天就可以开...[2022/7/20]
Java?Mybatis框架由浅入深全解析下篇
目录前言什么是MavenMaven环境配置Maven 构建生命周期Maven项目的创建目录结构pom.xml文件什么是pom.xml文件加入项目所需依赖添加资源文件的指定总结 前言 上一篇我们第一次测试了Mybatis框架,并且成功了。 本想直接推进学习框架配置,但是很多小伙伴对Maven不...[2022/7/20]
MyBatisPlus的简介及案例详解
目录一、MyBatisPlus简介二、MyBatisPlus入门案例1、创建数据库及表2、创建SpringBoot工程3、勾选配置使用技术4、pom.xml补全依赖5、添加MP的相关配置信息6、根据数据库表创建实体类7、创建Dao接口8、编写引导类9、编写测试类 一、MyBatisPlus简介 ...[2022/7/20]
一文详解Mybatis-plus的介绍与使用
目录Mybatis-Plus简介Mybatis-Plus特性Mybatis-Plus实操数据库相关配置小项目运行配置添加数据删除数据修改数据查询数据小结 Mybatis-Plus简介 Mybatis-Plus 是 MyBatis 的一个增强工具,专门针对于传统MyBatis开发中sql需要...[2022/7/19]
Mybatis-plus如何查询表中指定字段(不查询全部字段)
目录查询表中指定字段(不查询全部字段)场景解决只查询部分字段的两种方法方法1方法2 查询表中指定字段(不查询全部字段) 场景 Mybatis-Plus中BaseMapper提供的方法默认查询的是数据库中表的所有字段,但是有时候,我们仅仅需要查询的是表的某个字段货主一些字段,查询全部的话数据量...[2022/7/4]
MyBatis注解开发-@Insert和@InsertProvider的使用
目录@Insert和@InsertProvider的使用使用InsertProvider注解报错解决过程 @Insert和@InsertProvider的使用 首先,在mybatis-generator.xml中配置返回主键 UserMapper中的 @SelectKey:返回主键,...[2022/7/4]
mybatis实现获取入参是List和Map的取值
目录前言1.项目结构 2.pom文件配置3.其他的业务代码第一种采用#符的取值法第二种方式采用$符的取值法4.总结 前言 最近在工作中需要使用到mybatis,需要实现某个功能。 但是发现需要编写一个sql,但是mybatis的映射文件入参是List集合和Map<String...[2022/6/27]
mybatis中返回多个map结果问题
目录mybatis返回多个map结果mybatis返回map类型的注意事项及小技巧1.resultType="java.util.Map" 2.定义一个resultMap标签,3.返回的Map对象 mybatis返回多个map结果 如果返回一条结果,xml直接这样写...[2022/6/27]
mybatis-plus 新增/修改如何实现自动填充指定字段
目录mybatis-plus 新增/修改 自动填充指定字段1.需要修改的字段在模型类上添加2.新建一个MetaObjectHandler的实现类通用字段自动填充的最佳实践总结一、调整数据库表结构二、通用维护信息父类-自动赋值的字段三、实体类的实现四、自动赋值的规则五、实现效果 mybatis-plu...[2022/6/27]
mybatis-plus 新增/修改如何实现自动填充指定字段
目录mybatis-plus 新增/修改 自动填充指定字段1.需要修改的字段在模型类上添加2.新建一个MetaObjectHandler的实现类通用字段自动填充的最佳实践总结一、调整数据库表结构二、通用维护信息父类-自动赋值的字段三、实体类的实现四、自动赋值的规则五、实现效果 mybatis-plu...[2022/6/27]
SpringBoot整合Mybatis-plus的具体过程使用
目录1.MyBatisX插件2.引入依赖3.编写配置4.编写接口5.运行测试6.完整代码 1.MyBatisX插件 在使用mybatis或者mybatis-plus时,我们可以安装IDEA的MyBatis的插件 - MyBatisX, 这样我们就可以实现点击接口跳转到sql文件, 点击sql...[2022/6/27]
Mybatis如何通过出入Map参数作为条件进行查询
目录通过出入Map参数作为条件进行查询Mybatis查询传递Map参数使用场景传参持久层生成sql查询结果 通过出入Map参数作为条件进行查询 映射文件中查询语句部分: <!--通过map进行条件查询--> <select id="selectByMap" resultT...[2022/6/27]
Mybatis动态SQL之where标签用法说明
目录关于where标签用法使用where标签及一些注意点where标签简单使用 关于where标签用法 xml映射文件部分内容: <select id="selectIfCondition" resultType="com.heiketu.testpackage.pojo.Produc...[2022/6/27]
从零搭建SpringBoot+MyBatisPlus快速开发脚手架
目录前言聊聊mall-tiny项目项目简介项目演示技术选型数据库表结构接口文档使用流程升级过程Swagger升级Spring Security升级MyBatis-Plus升级解决循环依赖问题解决跨域问题总结 前言 关注我Github的小伙伴应该了解,之前我开源了一款快速开发脚手架mall-...[2022/6/20]
mybatis中 if-test 数字判断的坑及解决
目录if-test数字判断的坑mybatis的test判断注意事项 if-test数字判断的坑 在项目中偶然发现一个判断数字的if没有起任何作用,代码如下 <if test="timeType !=null and timeType!='''' and timeType == ''3'...[2022/6/6]
spring?boot?Mybatis?拦截器实现拼接sql和修改的代码详解
定义一个 SqlIntercepor 类 import com.culturalCenter.placeManage.globalConfig.Interface.InterceptAnnotation; import org.apache.ibatis.executor.statement...[2022/5/9]
mybatis-plus使用generator实现逆向工程
目录1.背景2.引入jar包3.自动生成代码4.修改*Mapper.xml文件的生成位置4.1 默认*Mapper.xml文件生成位置4.2 修改*Mapper.xml文件生成位置 1.背景 可以使用mybatis-plus-generator逆向生成dao层、service层、controll...[2022/5/9]
mybatis使用collection嵌套查询的实现
在开发中,可能会遇到一对多的关系,这个时候,一条sql语句就难以胜任这个任务了。只能先执行一条sql,然后根据返回的结果,再做一次sql关联查询,这个时候,使用mybatis的collection就可以实现。 如果第一次查询返回的是一个list集合,那么,后续的查询就是一个for循环。所以不使...[2022/5/9]
MyBatis框架零基础快速入门案例详解
目录一、创建数据库和表二、创建maven工程三、代码编写1、编写Student实体类2、编写DAO接口StudentDao3、编写DAO接口Mapper映射文件StudentDao.xml。4、创建MyBatis主配置文件四、创建测试类进行测试1、创建测试类MyBatisTest2、配置日志功能五、...[2022/4/7]
MyBatis配置文件解析与MyBatis实例演示
MyBatis介绍 MyBatis是一个持久层的ORM框架,使用简单,学习成本较低。可以执行自己手写的SQL语句,比较灵活。但是MyBatis的自动化程度不高,移植性也不高,有时从一个数据库迁移到另外一个数据库的时候需要自己修改配置,所以称只为半自动ORM框架 传统JDBC和Mybatis相比...[2022/4/7]
SpringBoot整合mybatis的方法详解
目录1依赖配置2使用2.1SpringBoot配置整合mybatis:2.2SpringBoot注解整合mybatis:2.3在配置类上增加@MapperScan注解,扫描某个包下的全部Mapper文件:总结 1 依赖配置 <parent> <groupId>o...[2022/3/14]
SpringBoot整合MyBatis-Plus的示例代码
目录前言源码环境开发工具 SQL脚本 正文单工程POM文件(注意) application.properties(注意)自定义配置(注意)实体类(注意)Mapper接口(注意)Service服务实现类(注意)Controller前端控制器(注意)SpringBoot启动...[2022/3/7]
mybatis-plus查询源码详解
目录配置详情测试类debug流程总结 配置详情 pom.xml dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter...[2022/3/2]
mybatis-plus使用问题小结
目录一、多表联合分页查询二、找不到mapper 一、多表联合分页查询 1.多表联合查询结果集建议使用VO类,当然也可以使用resultMap package com.cjhx.tzld.entity.vo; import com.baomidou.mybatisplus.annotat...[2022/3/1]
SpringBoot+MybatisPlus+Mysql+Sharding-JDBC分库分表
目录一、序言1、组件及版本选择2、预期目标二、代码实现(一)素材准备1、实体类2、Mapper类3、全局配置文件(二)增删查改1、保存数据2、查询列表数据3、分页查询数据4、查询详情5、删除数据6、修改数据三、理论分析1、选择分片列2、扩容 一、序言 在实际业务中,单表数据增长较快,很容易达到数...[2022/3/1]
mybatis动态拼接实现有条件的插入
目录动态拼接实现有条件的插入最近在做项目的时候遇到了一个很现实的问题mybatis插入语句mybatis插入语句一般都是这样写 动态拼接实现有条件的插入 最近在做项目的时候遇到了一个很现实的问题 那就是根据场景不同,然后实现有条件的插入,说穿了就是当这列有数据的时候进行数据的插入...[2022/2/28]
学好Java?MyBatis拦截器,提高工作效率
目录场景:1.麻瓜做法2.优雅做法3.什么是拦截器?4.使用拦截器更新审计字段5.自定义拦截器6.配置拦截器插件 场景: 在后端服务开发时,现在很流行的框架组合就是SSM(SpringBoot + Spring + MyBatis),在我们进行一些业务系统开发时,会有很多的业务数据表,而表中的信...[2022/2/14]