Mybatis和其他主流框架的整合使用
Mybatis简介 MyBatis历史 MyBatis最初是Apache的一个开源项目iBatis, 2010年6月这个项目由Apache Software Foundation迁移到了Google Code。随着开发团队转投Google Code旗下,iBatis3.x正式更名为MyBat...[2023/11/17]
手把手教你如何扩展(破解)mybatisplus的sql生成
mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入、更新、删除、查询等)的定义,能够帮助我们节省很多体力劳动。 他的BaseMapper中定义了这些常用的CRUD方法,我们在使用时,继承这个BaseMa...[2023/11/15]
MyBatis拦截器优雅实现数据脱敏
背景 现代网络环境中,敏感数据的处理是至关重要的。敏感数据包括个人身份信息、银行账号、手机号码等,泄露这些数据可能导致用户隐私泄露、财产损失等严重后果。因此,对敏感数据进行脱敏处理是一种必要的安全措施。 比如页面上常见的敏感数据都是加*遮挡处理过的,如下图所示。 接下来本文将以Sprin...[2023/11/3]
放弃老旧的Mybatis,强类型替换字符串,这是一款你不应该错过的ORM
一款轻量级、高性能、强类型、易扩展符合C#开发者的JAVA自研ORM github地址 easy-query https: github.com/xuejmnet/easy-query gitee地址 easy-query https: gitee.com/xuejm/easy-query 背...[2023/10/30]
自定义MyBatis拦截器更改表名
by emanjusaka from ? https: www.emanjusaka.top/archive 10 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 自定义MyBatis拦截器可以在方法执行前后插入自己的逻辑,这非常有利于扩展和定制 MyBatis 的功能。本...[2023/10/25]
mybatis-plus+nacos配置中心和服务发现保姆级教程
默认你已经看了我的Mybatis-Plus+Mysql的教程,现在有了一个简单的项目如下(之前的教程: https: www.cnblogs.com/leafstar/p/17638741.html) 1.下载nacao,我这里下的是2.1.0版本 提供一下我用的版本( 链...[2023/8/18]
Mybatis框架的搭建和基本使用
本文总结最原始Mybatis框架的搭建和最基本使用(不涉及Spring框架体系)。 1 依赖 首先,我们要引入Mybatis依赖: <dependency> <groupId>org.mybatis</groupId> <artifactId...[2023/8/14]
从MybatisPlus回归Mybatis
从MybatisPlus回归Mybatis 之前写项目一直习惯使用MyBatisPlus,单表查询很方便;两张表也很方便,直接业务层处理两张表的逻辑。但什么都图方便只会害了你。 但连接的表比较复杂的时候,还是要使用MyBatis 写 SQL,这对于一个Plus选手,无疑是遇到了一些障碍的。 ...[2023/8/9]
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱
我真的不想再用mybatis和其衍生框架了选择自研亦是一种解脱 文档地址 https: xuejm.gitee.io/easy-query-doc/ GITHUB地址 https: github.com/xuejmnet/easy-query GITEE地址 https: gitee.com...[2023/7/28]
MyBatis实现动态SQL更新
博主记得在一个周五快下班的下午,产品找到我(为什么总感觉周五快下班就来活 ??),跟我说有几个业务列表查询需要加上时间条件过滤数据,这个条件可能会变,不保证以后不修改,这个改动涉及到多个列表查询,于是博主思考了一会想了几种实现方案, 最简单,直接将时间条件写死,由 Service 层传递给 D...[2023/7/12]
mybatis-plus-generator-ui 可视化代码生成器!
它提供交互式的Web UI用于生成兼容mybatis-plus框架的相关功能代码,包括Entity,Mapper,Mapper.xml,Service,Controller等。 可以自定义模板以及各类输出参数,也可通过SQL查询语句直接生成代码。 git地址:https: github.co...[2023/6/12]
使用Mybatis-Plus问题解答
我们使用一个新的框架难免会遇到各种问题,当然使用这款国产的优秀的Mybatis-Plus框架也不例外,下面我就给大家列举一下使用Mybatis-Plus可能遇到的一些问题,并做一下一一的解答。 1:如何排除非表的字段(这个问题一定要注意,我们Java中写的Entity类的属性是和表的字段一一对...[2023/6/7]
spring-boot集成mybatis真的很简单吗?
在日常的后端开发中,使用mybatis作为DAO层的持久框架已经是惯例。但很多时候都是在别人搭好的框架中进行开发,对怎么搭建环境是一知半解,今天就来实践下。 一、集成分哪些步骤 来看下集成mybatis需要哪些步骤, 1、确定环境及依赖 2、配置文件; 3、测试 二、环境及依赖 这里,...[2023/6/7]
案例分享-被*队友的mybatis蠢哭的一天
昨晚加班的时候被队友拉着看一个mybatis的问题,耗费了我一个小时时间,最后差点没被我打死,实在是觉得滑稽,今天回家写下来跟大伙分享一下。 问题现象 Invalid bound statement (not found),看到这个错我当时就没兴趣了,我说你这不就是xml里没写xxxMapp...[2023/6/5]
最全面的Mybatis面试八股文
Mybatis是什么? MyBatis框架是一个开源的数据持久层框架。 它的内部封装了通过JDBC访问数据库的操作,支持普通的SQL查询、存储过程和高级映射,几乎消除了所有的JDBC代码和参数的手工设置以及结果集的检索。 MyBatis作为持久层框架,其主要思想是将程序中的大量SQL语句剥离出来...[2023/5/30]
Mybatis一对多查询列表属性处理示例详解
目录一、说明1.<collection>标签属性说明2. 示例代码二、平铺查询三、 嵌套查询(Nested Select for Collection)3.1 外键查询3.2 select传入多个参数总结 一、说明 1.<collection>标签属性说明 proper...[2023/5/15]
如何去掉IntelliJ IDEA中mybatis对应的xml文件警告
目录去掉IntelliJ IDEA中mybatis对应的xml文件警告去掉 No data sources configure 警告去掉 SQL dialect is not configured 警告去掉“注入语言”的背景色总结 去掉IntelliJ IDEA中mybati...[2023/4/28]
如果你项目使用了MyBatis-Plus你一定要用它
还是先举个例子,魂斗罗小游戏应该很多90后都玩过,那个时代没有Iphone,没有各种电子产品(小学初中时代),这种小游戏应该就是很多90后的青春,反正那个时候只要放假就白天黑夜得玩。它就是那种2个好基友边玩边捡各种装备的游戏,越玩的远捡的装备越好,玩得越高兴。而MyBatis-Plus就类似My...[2023/4/24]
IDEA?mybatis?Mapper.xml报红的最新解决办法
目录IDEA mybatis Mapper.xml报红的最新解决办法现象解决办法参考资料补充:idea如何新建mybatis mapper.xml文件如题1. 新建一个模板2. 新建mapper.xml IDEA mybatis Mapper.xml报红的最新解决办法 现象 在IDEA中已经...[2023/4/21]
MyBatisPlus解决逻辑删除与唯一索引的兼容问题
需求背景 比如有张用户表,在插入或者更新数据的时候,我们需要 用户名称(username),不能重复。 我们首先考虑的是给该字段创建唯一索引 create unique index uni_username on user(username) 似乎这样就可以了,然而事情并没有那么简单。 ...[2023/4/14]
mybatis?xml文件热加载实现示例详解
目录引言一、xml 文件热加载实现原理1.1 xml 文件怎么样解析1.2 实现思路二、mybatis-xmlreload-spring-boot-starter 登场2.1 核心代码2.2 安装方式2.3 使用配置最后 引言 本文博主给大家带来一篇 mybatis xml 文件热加载的实现...[2023/3/27]
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]