
MyBatis
MyBatis
陆克和他的那些代码
程序员陆克,专注社交电商 & 内容流量,关注互联网自媒体。
展开
-
MyBatis - DAO 接口(Mapper.xml)支持方法重载吗?
MyBatis - DAO 接口(Mapper.xml)支持方法重载吗?原创 2024-01-16 10:44:18 · 991 阅读 · 0 评论 -
MyBatis - @Param 注解对象是否使用区别?
MyBatis - @Param 注解对象是否使用区别?原创 2024-01-15 10:51:28 · 404 阅读 · 0 评论 -
MyBatis-Plus - 论自定义 BaseMapper 方法『逻辑删』失效解决方案
MyBatis-Plus - 论自定义 BaseMapper 方法『逻辑删』失效解决方案原创 2023-12-12 17:00:00 · 617 阅读 · 0 评论 -
MyBatis-Plus - 论 1 个实体类被 N 个DAO 类绑定,导致 MP 特性(逻辑删)失效的解决方案
MyBatis-Plus - 论 1 个实体类被 N 个DAO 类绑定,导致 MP 特性失效的解决方案原创 2023-12-11 18:01:35 · 174 阅读 · 0 评论 -
MyBatis - 自定义 ResultMap 返回数据与数据库查询不一致
MyBatis - 自定义 ResultMap 返回数据与数据库查询不一致原创 2023-11-24 17:00:40 · 339 阅读 · 0 评论 -
MyBatis-Plus - 自定义租户拦截器,一定要这样吗?!
MyBatis-Plus - 自定义租户拦截器,一定要这样吗?!原创 2023-10-18 20:34:56 · 561 阅读 · 0 评论 -
MyBatis-Plus - IdType.AUTO
MyBatis-Plus - IdType.AUTO原创 2023-07-24 12:06:40 · 733 阅读 · 0 评论 -
MyBatis-Plus - 就这一篇搞定 Mybatis Plus 枚举自动转换
MyBatis-Plus - 就这一篇搞定 Mybatis Plus 枚举自动转换原创 2023-07-17 23:48:23 · 2082 阅读 · 0 评论 -
Mybatis-Plus - Wrappers 之 3 种玩法,我喜欢最后一种~
Mybatis-Plus - Wrappers 之 3 种玩法,我喜欢最后一种~原创 2023-07-16 21:01:06 · 180 阅读 · 0 评论 -
MyBatis-Plus - 使用 SQL 保留字(关键字)解决方案
MyBatis-Plus - 使用 SQL 保留字(关键字)解决方案原创 2023-04-20 17:49:14 · 271 阅读 · 0 评论 -
MyBatis-Plus - GlobalConfig 令你想象不到的失效情景 & 解决方案
MyBatis-Plus - GlobalConfig 令你想象不到的失效情景 & 解决方案原创 2023-03-27 18:16:01 · 1851 阅读 · 0 评论 -
MyBatis - Parameter ‘xxx‘ not found. Available parameters are [xxx, param.]
MyBatis - Parameter ‘xxx‘ not found. Available parameters are [xxx, param.]原创 2022-08-03 14:20:59 · 409 阅读 · 0 评论 -
MyBatis - 一旦执行到打印日志 Parameter 就卡死的原因探索
如图所是,就执行到这,直接二话不说——卡死,按理说要给我一个“影响了多少行”类似的日志,结果并没有,于是开始分析~首先经过猜想三,排除 MyBatis 的 Bug 先,那么牛逼的框架,作者不至于犯这么低级错误,那就还是哪里有问题呗,再仔细和那个 OK 的环境对比,发现走的网络不一样,于是,用纯粹的手机热点试试,不走公司的各种复杂网络,发现秒过!后来一探究竟,发现是公司搭建的网络中,转发估计有一些包字节限制,我也是醉了!......原创 2022-06-29 18:23:36 · 821 阅读 · 0 评论 -
MyBatis - 拦截器之修改预编译后的 SQL
因为 XML foreach 标签进行预编译后,对生成的 SQL 会有一些换行、空行、回车等不可见字符,于是就想能不能对生成后的 SQL 进行二次编辑,于是有了下文。拦截器之修改预编译后的 SQL原创 2022-06-29 17:18:51 · 1133 阅读 · 2 评论 -
MyBatis - 关闭 Log 日志的两种方式
关闭 Log 日志的两种方式 StdOutImpl原创 2022-06-29 16:54:09 · 5014 阅读 · 0 评论 -
MyBatis - 拦截器之打印最终完整可直接执行带参数 SQL
大家还记得那些年的 P6spy,这个也是打印完整可直接执行 SQL 的利器,不过总感觉,我个人使用下来还是觉得太重,配置驱动,引入 Jar,啥啥啥的,今天无聊下给大家整了一个类似这个功能的,可以看看~Ps:这边拦截只是针对 Update 操作,这个在上面自己配上 @Signature 即可,这个很简单就不再描述,对应填写的参数看下都会的!......原创 2022-06-29 15:37:59 · 1432 阅读 · 0 评论 -
Mybatis - 无效的列类型: 1111
在使用Mybatis时,不同的xml配置文件,有的会提示:无效的列类型: 1111情况一通过观察,如果是参数是Map类型或者Java Object类型,如果Map或者Object里面的属性类型不一致,如有些属性是String类型,有些属性是Integer类型,那么MyBatis解析的时候,就会出现问题,类型无法识别。当然,如果传入参数不是Map或者Java Object,而是多个参数列表的形式,如果参数类型一致,那么不会出现问题,如果参数类型不一致,如既有String类型,也有Integ.原创 2022-04-30 08:00:00 · 7254 阅读 · 0 评论 -
MyBatis-Plus - 一篇带你解决自定义 SQL 注入器失效必杀技
问题分析如果你看到这一篇,说明你也是遇到这个问题的人(废话),我们在上一篇(MyBatis-Plus - 一篇带你玩转自定义 BaseMapper)讲解过程当中,会发现最后用的是 @Component 注解进入注入到 Spring 容器,或者说有的地方采用@Bean 的方式进行注入(半斤八两),但奇怪的是始种没生效,因为…import com.baomidou.mybatisplus.core.injector.AbstractMethod;import com.baomidou.mybati.原创 2022-01-14 19:15:35 · 2689 阅读 · 1 评论 -
MyBatis-Plus - 一篇带你玩转自定义 BaseMapper
业务背景在使用 @TableLogic (逻辑删)注解的基础上,提供一个全局方法,使得插入数据的时候,一旦发现有相同主键 Id 的记录就先删除再插入(系统搬家的时候遇到。因为系统搬家产生这个问题的场景:先导入搬家的数据,然后在目标系统删除该数据[假删除],再次重复导入就会 SQL 物理主键冲突报错)~解决方案实现一个插入方法,在插入的时候,先删除该记录 Id 并且 del == 1(假删除标记),然后再插入!实现思路在玩 MP 的时候我们都知道 BaseMapper,那么优秀的框原创 2022-01-14 19:05:59 · 4609 阅读 · 0 评论 -
Mybatis - 快速入门
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.2.0</version></dependency>...原创 2020-04-09 09:39:27 · 300 阅读 · 0 评论 -
MyBatis - Could not resolve type alias ‘XXX‘(实体类全局别名)
报错信息Could not resolve type alias 'XXX'...解决方案mybatis-plus: mapper-locations: classpath:mapper/**.xml type-aliases-package: com.luxsun.project.entity原创 2021-09-23 20:25:12 · 901 阅读 · 0 评论 -
MyBatis-Plus - 字段更新 null 值解决方案
MyBatis-Plus - 字段更新 null 值解决方案原创 2021-08-19 15:55:10 · 2077 阅读 · 3 评论 -
MyBatis-Plus - 字段类型处理器之泛型擦除解决方案
Java语言的泛型采用的是擦除法实现的伪泛型,泛型信息(类型变量、参数化类型)编译之后通通被除掉了。使用擦除法的好处就是实现简单、非常容易Backport,运行期也能够节省一些类型所占的内存空间。而擦除法的坏处就是,通过这种机制实现的泛型远不如真泛型灵活和强大。Java选取这种方法是一种折中,因为Java最开始的版本是不支持泛型的,为了兼容以前的库而不得不使用擦除法。验证擦除,我们编写下面代码public class ErasedTypeEquivalence { public sta.原创 2021-04-19 11:48:39 · 4146 阅读 · 11 评论 -
MyBatis-Plus - 分页查询 selectPage 返回 total 为 0 解决方案
MyBatis-Plus - 分页查询 selectPage 返回 total 为 0 解决方案原创 2020-11-24 10:01:08 · 5801 阅读 · 2 评论 -
MyBatis-Plus - JacksonTypeHandler VS FastjsonTypeHandler
@TableField(typeHandler = JacksonTypeHandler.class)private ServiceReqrule serviceReqrule;@TableField(typeHandler = FastjsonTypeHandler.class)private ServiceReqrule serviceReqrule;JacksonTypeHandler支持 MVC JSON 解析 支持 MySQL JSON 解析FastjsonTypeHa..原创 2020-11-18 19:07:17 · 12639 阅读 · 11 评论 -
MyBatis-Plus - 字段类型处理器
类型处理器,用于 JavaType 与 JdbcType 之间的转换,用于 PreparedStatement 设置参数值和从 ResultSet 或 CallableStatement 中取出一个值,本文讲解mybaits-plus内置常用类型处理器如何通过TableField注解快速注入到mybatis容器中。示例工程????mybatis-plus-sample-typehandlerJSON 字段类型@Data@Accessors(chain = true)@TableN...原创 2020-08-31 22:31:43 · 4121 阅读 · 6 评论 -
MyBatis - 配置多个别名 typeAliasesPackage
<property name="typeAliasesPackage" value="com.ivan.edu.model,com.ivan.edu.vo"></property>只需要用逗号“,”隔开就行,当然上面是以 XML 为例,YML 或 Properties 文件配置同理可得~原创 2020-06-24 09:36:02 · 16035 阅读 · 4 评论 -
MyBatis-Plus - 高级功能——SQL性能分析打印插件
MyBatis-Plus - 高级功能——SQL性能分析打印插件原创 2020-06-17 20:25:01 · 2307 阅读 · 0 评论 -
MyBatis-Plus - 批量插入、更新、删除、查询
MyBatis-Plus - 批量插入、更新、删除、查询原创 2020-06-17 09:09:37 · 14455 阅读 · 0 评论 -
MyBatis-Plus - 实现字段自动填充功能
一、前言在项目中,我们有一些公共的字段需要做修改。如:gmt_create:创建时间 creator_id:创建人 gmt_modified:修改时间 modifier_id:修改人这时候我们可以采用 MyBatis-Plus 中的字段自动填充功能去实现思路:抽取公用字段封装到BaseEntity类中,再将使用到此公共字段的类继承基类,最后由 MyBatis-Plus 帮我们实现自动填充,这样我们便可以在service服务类中减少一定代码重复量!二、实现1. 实体类@.原创 2020-06-16 21:37:13 · 4916 阅读 · 0 评论 -
MyBatis-Plus - 实现多表分页查询
MyBatis-Plus - 实现多表分页查询原创 2020-06-15 09:27:23 · 18569 阅读 · 5 评论 -
MyBatis-Plus - ID_WORKER VS UUID
MyBatis-Plus - ID_WORKER VS UUID原创 2020-06-04 20:52:34 · 4953 阅读 · 0 评论 -
MyBatis-Plus - 深入进阶
DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` bigint(20) NULL DEFAULT NULL COMMENT '主键', `name` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名', `age` int(11) NULL DEFAULT NULL COMMENT '年龄', `emai...原创 2020-06-04 18:23:31 · 1835 阅读 · 0 评论 -
MyBatis-Plus - 快速入门
1、数据库建表# 创建用户表CREATE TABLE user ( id BIGINT(20) PRIMARY KEY NOT NULL COMMENT '主键', name VARCHAR(30) DEFAULT NULL COMMENT '姓名', age INT(11) DEFAULT NULL COMMENT '年龄', email VARCHAR(50) DEFAULT NULL COMMENT '邮箱', manager...原创 2020-06-04 12:18:49 · 1869 阅读 · 0 评论 -
MyBatis - MyBatis VS JPA
所以就出现了 MyBatis-Plus 框架来弥补~原创 2020-06-04 11:49:32 · 358 阅读 · 0 评论 -
MyBatis - Mybatis Generator Maven 插件自动生成代码
如果你正为无聊Dao代码的编写感到苦恼,如果你正为怕一个单词拼错导致Dao操作失败而感到苦恼,那么就可以考虑一些Mybatis generator这个差价,它会帮我们自动生成代码,类似于Hibernate。1、新建一个Maven项目2、在pom.xml中插入Generator插件<build> <plugins> <plugi...原创 2019-03-14 14:23:40 · 368 阅读 · 0 评论 -
MyBatis - 数组映射 & 集合映射
Integer addApiRequestParam(List<ApiRequestParam> apiRequestParam);<insert id="addApiRequestParam" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="groupID"> INSERT INTO eo_api_request_param(paramName,param.原创 2020-05-18 08:47:10 · 2843 阅读 · 0 评论 -
MyBatis - Mapped Statements collection already contains value for...
MyBatis - Mapped Statements collection already contains value for...原创 2020-05-12 08:48:21 · 712 阅读 · 0 评论 -
MyBatis - 新增返回 ID
MyBatis - 新增返回 ID原创 2020-05-06 22:38:42 · 2679 阅读 · 0 评论 -
MyBatis - 解决逆向工程生成 xxxKey & xxxWithBlos 实体类
在做Mybatis 逆向工程生成 Javabean 时,结果发现生成多了一个 xxxKey 实体类,经过一番百度后知道了生成这个实体类的原因是表中存在联合主键,然后为了便于代码的重构,把实体和实体的关系隔绝到两个类,互相不干扰。生成类如图由于表 Answersheet 和表 Score 中都存在联合主键,然后一个表直接生成对应的三个 JavaBean(xxx,xxxExample,x...原创 2020-04-30 22:05:03 · 1269 阅读 · 4 评论