mybatis-plus id在高并发下出现重复

mybaits-plus ASSIGN_ID生成 id生成策略 在分布式高并发环境下出现重复id https://github.com/baomidou/mybatis-plus/issues/3077 mybatis-plus 对@TableId(type = IdType.ASSIGN_ID)生

mybaits-plus实现自定义字典转换

需求:字典实现类似mybatis-plus中@EnumValue的功能,假设枚举类中应用使用code,数据库存储对应的value 思路:Mybatis支持对Executor、StatementHandler、PameterHandler和ResultSetHandler进行拦截,也就是说会对这4种对

分享一个修改了xml文件再也不用重启的项目mybatis-xmlreload

自我18年使用 Mybaits 以来,开发环境中如果修改了 xml 文件后,只有重启项目才能生效,如果小项目重启还好,但是对于一个重启需要十几分钟的大型项目来说,这就非常耗时了。开发人员因为修改了xml 文件少量内容,比如添加一个逗号、查询增加一个字段或者修改一个 bug 等,就需要重启整个项目,这就非常痛苦了。

Mybatis执行器

mybatis执行sql语句的操作是由执行器(Executor)完成的,mybatis中一共提供了3种Executor: 类型 名称 功能 REUSE 重用执行器 缓存PreparedStatement,下一次执行相同的sql可重用 BATCH 批量执行器 将修改操作记录在本地,等待程序触发或有下一

『手写Mybatis』实现映射器的注册和使用

前言 如何面对复杂系统的设计? 我们可以把 Spring、MyBatis、Dubbo 这样的大型框架或者一些公司内部的较核心的项目,都可以称为复杂的系统。 这样的工程也不在是初学编程手里的玩具项目,没有所谓的 CRUD,更多时候要面对的都是对系统分层的结构设计和聚合逻辑功能的实现,再通过层层转换进行

MyBatis 的缓存机制

1. MyBatis 的缓存机制 @目录1. MyBatis 的缓存机制2. 准备工作3. MyBatis 的一级缓存3.1 一级缓存失效情况/条件4. MyBatis 的二级缓存5. MyBatis 集成 EhCache 第三方缓存6. 总结:7. 最后: 缓存(Cache) 缓存的作用:通过减少

MyBatis的逆向工程详细步骤操作

1. MyBatis的逆向工程详细步骤操作 @目录1. MyBatis的逆向工程详细步骤操作2. 逆向工程配置与生成2.1 MyBatis3Simple:基础版,只有基本的增删改查2.1.1 第一步:在pom.xml 中添加逆向工程插件2.1.2 第二步:配置 generatorConfig.xml

MyBatis 关于查询语句上配置的详细内容

1. MyBatis 关于查询语句上配置的详细内容 @目录1. MyBatis 关于查询语句上配置的详细内容2. 准备工作3. SQL查询结果,返回为POJO实体类型4. SQL查询结果,返回为List 集合类型5. SQL查询结果,返回为Map 集合6. SQL查询结果,返回为List

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

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

【简写Mybatis-02】注册机的实现以及SqlSession处理

学习源码一定一定不要太关注代码的编写,而是注意代码实现思想:通过设问方式来体现代码中的思想;方法:5W+1H

面试必会 --> MyBatis篇

什么是MyBatis Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,开发时只需要关注SQL语句本身,不需要花费精力去处理加载驱动、创建连接、创建statement等繁杂的过程。程序员直接编写原生态sql,可以严格控制sql执行性能,灵活度高。 MyBatis 可以使用 XM

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

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

MyBatis完成CRUD 详细细节内容

1. MyBatis完成CRUD 详细细节内容 @目录1. MyBatis完成CRUD 详细细节内容每博一文案2. MyBatis工具类SqlSessionUtil的封装3. 准备工作3.1 insert 添加/插入记录3.2 delete 删除记录3.3 update 修改记录3.4 select

MyBatis-Plus 实现多租户管理的实践

本文主要讲解使用Mybatis-Plus结合dynamic-datasource来实现多租户管理 在现代企业应用中,多租户(Multi-Tenant)架构已经成为一个非常重要的设计模式。多租户架构允许多个租户共享同一应用程序实例,但每个租户的数据彼此隔离。实现这一点可以大大提高资源利用率并降低运营成

mybatisplus 中查询的实体对应的表名是动态的解决方案

开发中遇到需要查询一些表里的数据,这些数据按照一定的规则存放在不同的数据库表里,例如表名是table_name+月份 table_name_2024_05,table_name_2024_04这样,这些表的结构都相同。 网上找了一些动态修改实体对应数据库表名的方法,操作相对复杂而且跟mybatisp

MyBatis源码之MyBatis中SQL语句执行过程

本文是MyBatis源码之MyBatis中SQL语句执行过程,使用图文并茂的方式,讲解了SQL语句执行过程,调用了哪些方法,和这些方法是如何调用的。

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

本文是MyBatis源码之前言,主要介绍了JDBC编码存在的问题和介绍了Mybatis的配置、使用。 本文指出了JDBC编码操作数据库的问题,并给出了分析。

Mybatisplus3.5.1+shardingsphere-jdbc5.1.1分表

> 注意使用雪花ID的话,查询ID时候必须使用long类型的ID,不要使用MP自带的默认的Serializable类型。否则会提示分片主键id数据类型和分片算法不匹配Inline sharding algorithms expression `xxx` and sharding column `xx

MyBatis是如何初始化的?

摘要:我们知道MyBatis和数据库的交互有两种方式有Java API和Mapper接口两种,所以MyBatis的初始化必然也有两种;那么MyBatis是如何初始化的呢? 本文分享自华为云社区《MyBatis详解 - 初始化基本过程》,作者:龙哥手记 。 MyBatis初始化的方式及引入 MyBat

MyBatis ORA-01465: 无效的十六进制数字

MyBatis 在插入 Oralce 时报:ORA-01465: 无效的十六进制数字 解决方法: # 插入或更新时 String -> BLOB字段:RAWTOHEX(#{字段名}) String -> DATE:to_date(#{字段名},'yyyy-mm-dd hh24:mi:ss') # 查