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

结合拦截器描述mybatis启动流程

简介 mybatis的启动入口一般有两个,在结合spring框架后由spring整合包下的SqlSe ionFactoryBean启动 如果没有整合spring,则有XMLConfigBuilder启动 这两个启动入口都会初始化Configuration对象,该对象是mybatis配置文件的...[2024/7/31]

【java深入学习第1章】深入探究 MyBatis-Spring 中 SqlSession 的原理与应用

前言 在使用 MyBatis 进行持久层开发时,通常会与 Spring 框架集成,以便更好地管理事务和依赖注入。在 MyBatis-Spring 集成中,SqlSe ion 是一个非常重要的概念。本文将详细介绍 SqlSe ionTemplate 和 SqlSe ionDaoSupport,并提...[2024/7/13]

Mybatis-Plus最优化持久层开发

Mybatis-Plus最优化持久层开发

Mybatis-plus:最优化持久层开发 一:Mybatis-plus快速入门: 1.1:简介: Mybatis-plus(简称MP)是一个Mybatis的增强工具,在mybatis的基础上只做增强不做改变; 提高效率; 自动生成单表的CRUD功能; 提供了丰富的条件拼接方式; 全自动O...[2024/7/11]

流式查询1. mybatis的游标Cursor,分页大数据查询

流式查询 流式查询 指的是查询成功后不是返回一个集合而是返回一个迭代器,应用可以通过迭代器每次取一条查询结果。流式查询的好处是能够降低内存使用。例如我们想要从数据库取 1000 万条记录而又没有足够的内存时,就不得不分页查询。 而分页查询就需要我们按照顺序查询并设置一个参数来记录当前进度并在下...[2024/7/11]

MyBatis 的在使用上的注意事项及其辨析 - Rainbow-Sea

1. MyBatis 的在使用上的注意事项及其辨析 @目录1. MyBatis 的在使用上的注意事项及其辨析2. 准备工作3. #{ } 与 ${ } 的区别和使用{}3.1 什么情况下必须使用 $3.1.1 拼接表名3.1.2 批量删除3.1.3 模糊查询3.1.3.1 使用 ${ }的方式3...[2024/6/13]

在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制) - Rainbow-Sea

1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制) @目录1. 在 Wed 中应用 MyBatis(同时使用MVC架构模式,以及ThreadLocal 事务控制)2. 实现步骤:1. 第一步:环境搭建2. 第二步:前端页面 index.htm...[2024/6/12]

MyBatis实现MySQL表字段及结构的自动增删

前言 在开发过程中,总会涉及到数据库表结构字段的增加或者删除,或者是索引的增加和减少,这个时候能把修改表结构字段这些工作都交给程序来进行,那能大大方便开发。正好有一个现成的工具可以在springboot里面实现这个流程。 介绍 mybatis-enhance-actable 上述是gitee...[2024/6/5]

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拦截器中为实体对象中的公共参数进行赋值,但最终依然需要在业务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拦截器优雅实现数据脱敏

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框架的搭建和基本使用

本文总结最原始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真的很简单吗?

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&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你一定要用它

还是先举个例子,魂斗罗小游戏应该很多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使用聚合函数的示例代码

目录前言方式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层面的代码自动生成器(推荐)

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缓存机制

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]

388
2
记录数:224 页数:1/512345下一页尾页
 友情链接:直通硅谷  点职佳 mac软件下载
加载更多