经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
 MyBatis

MyBatis源码之前言—JDBC编码存在的问题和Mybatis的介绍

MyBatis源码之前言—JDBC编码存在的问题和Mybatis的介绍 为了方便操作,我们在sjdwz_test数据库下建立一张表: CREATE TABLE `t_student` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ''主...[2024/4/24]

mybatis plugin源码解析

概述 Plugin,意为插件,是mybatis为开发者提供的,对方法进行自定义编程的手段。其中用到了动态代理、反射方法,通过指定需要增强的对象与方法,进行程序编写。 核心类 主要涉及几个核心类:Interceptor、Plugin、Intercepts 该增强功能的大致执行顺序为: 项...[2024/4/10]

从零开始学Spring Boot系列-集成mybatis

在Spring Boot的应用开发中,MyBatis是一个非常流行的持久层框架,它支持定制化SQL、存储过程以及高级映射。在本篇文章中,我们将学习如何在Spring Boot项目中集成MyBatis,以便通过MyBatis进行数据库操作。 添加MyBatis依赖 首先,我们需要在项目中添加My...[2024/3/11]

Spring Boot + MyBatis-Plus 实现 MySQL 主从复制动态数据源切换

MySQL 主从复制是一种常见的数据库架构,它可以提高数据库的性能和可用性。动态数据源切换则可以根据业务需求,在不同场景下使用不同的数据源,比如在读多写少的场景下,可以通过切换到从库来分担主库的压力。 在本文中,我们将介绍如何在 Spring Boot 中实现 MySQL 动态数据源切换,使...[2024/2/18]

一种轻量分表方案-MyBatis拦截器分表实践

背景 部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦截器低成本的提升数据库稳定性。   业界常见方案 针对冷数据多的大表,常...[2024/1/26]

使用Mybatis自定义插件实现不侵入业务的公共参数自动追加

使用Mybatis自定义插件实现不侵入业务的公共参数自动追加

背景 后台业务开发的过程中,往往会遇到这种场景:需要记录每条记录产生时间、修改时间、修改人及添加人,在查询时查询出来。 以往的做法通常是手动在每个业务逻辑里耦合上这么一块代码,也有更优雅一点的做法是写一个拦截器,然后在Mybatis拦截器中为实体对象中的公共参数进行赋值,但最终依然需要在业务S...[2023/12/27]

MyBatis-Plus雪花算法实现源码解析

1. 雪花算法(Snowflake Algorithm) 雪花算法(Snowflake Algorithm)是一种用于生成唯一标识符(ID)的分布式算法。最初由 Twitter 公司开发,用于生成其内部分布式系统中的唯一ID。雪花算法的设计目标是在分布式系统中生成全局唯一的ID,同时保证ID的有...[2023/12/15]

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+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 之前写项目一直习惯使用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更新

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&nbsp;IDEA中mybatis对应的xml文件警告

目录去掉IntelliJ IDEA中mybatis对应的xml文件警告去掉 No data sources configure 警告去掉 SQL dialect is not configured 警告去掉“注入语言”的背景色总结 去掉IntelliJ IDEA中mybati...[2023/4/28]

如果你项目使用了MyBatis-Plus你一定要用它

如果你项目使用了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解决逻辑删除与唯一索引的兼容问题

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使用聚合函数的示例代码

MybatisPlus使用聚合函数的示例代码

目录前言方式1 通过select自定义sql求一个sum求多个sum方式2 xml手写原生sql总结 前言 今天遇到了一个求总数返回的情况,我一想这不是用sum就完事了吗。 但是仔细想想,MybatisPlus好像没有直接使用sum的api。 虽然没有直接提供,但是办法还是有的,下面就分...[2023/3/17]

如何规避MyBatis使用过程中带来的全表更新风险

如何规避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代码生成器的原理及实现详解

MyBatisPlus代码生成器的原理及实现详解

目录一、代码生成器原理分析二、代码生成器实现 一、代码生成器原理分析 我们在观察之前写的代码的时候,会发现很多重复的内容。  一个Book模板,,只需要把红色部分的内容全部更换成Book即可。  所以任何模板的开发,对于这段代码基本都是对红色部分的调整,所...[2022/8/2]

388
2
记录数:217 页数:1/512345下一页尾页
 友情链接:直通硅谷  直通硅谷 怎么样 mac软件下载
加载更多