![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mybatis
文章平均质量分 75
小咸鱼的技术窝
独立全栈开发工程师一枚,熟读JDK、SSM、SpringCloud生态源码。
个人产品:www.xxyfy.cn
微信公众号:小咸鱼的技术窝
个人微信:zh114418
展开
-
使用代理,在Mapper层面统一封装VO、Entity 之间的转换逻辑
无聊看看开源项目,无意间看到里面的业务代码用到了BaseMapperPlus,于是点进去发现里面封装了Vo、Entity 之间的转换逻辑。想着自己平时都是手动的进行 copy 转换来着。于是本地进行验证了一番,发现还挺好用的,懒人必备。但是前提是项目中的MybatisPlus 版本高于3.5.3.1,不然有些方法用不了。原创 2024-07-03 11:45:22 · 327 阅读 · 0 评论 -
mybatis 、ThreadPoolExecutor 导致的 oom 源码角度分析以及解决方案
正所谓前人,栽树后人乘凉。随着项目业务逻辑越来越复杂,屎山代码越积越高,部分接口的响应速度开始变的有点慢,于是乎想着用 CompletableFuture 去将代码去优化一下。但是优化着优化着就感觉有点不对劲了,电脑温度蹭蹭的往上涨,一看内存都要爆了。oom一下子就出现了。创建一个异步任务并执行返回值为1return 1;});阻塞主线程,等待 task1、task2 都执行完毕获取 task1 任务的返回值,task1 未执行完成前主线程将一直阻塞。原创 2023-07-20 17:15:01 · 610 阅读 · 0 评论 -
关于mybatis批处理那点事
前言最近在写爬虫的时候,需要定时的将数据爬取然后导入到数据库中(数据量有点大哦),我最开始的写法是这样的,每爬取到一条数据就立即将数据入库,IO了好多次,这样在无形之中给数据库施压了,唉我这个猪队友…不是还有一个叫做批处理的东西存在嘛!!!于是我用批处理的技术优化了一下代码,顺便研究了一波批处理流程的源码,这也是我写下本文的原因嘻嘻,下文将会按照如下流程来介绍批处理(包含了一丢丢源码分析)。SQL层面->JDBC批处理->mybatis批处理->mybatisPlus批处理。读者可以根据原创 2021-11-10 10:23:02 · 845 阅读 · 2 评论 -
mybatisPlus进阶用法之逻辑删除、乐观锁、分页
趣事:前段时间实习,有一个修改状态的接口要我写,心想着要写出优雅的代码,即使这是一个小小的接口,本着身在小厂心系大厂的想法出发,考虑并发问题必不可少!于是我自己写sql更新、查询语句(for update还有乐观锁版本控制的那种),美滋滋的就交差了,后来我在整理mybatisPlus代码的时候,发现原来乐观锁、逻辑删除这一切,mybatisPlus都是可以自动配置的。蜜汁尴尬????,但是居然项目经理也和我一样是个呆瓜,这就说明了一些东西了。这里写目录标题mybatisPlus进阶之逻辑删除配置插件实体类原创 2021-02-08 17:39:39 · 570 阅读 · 0 评论 -
mybatisPlus属性自动填充配置之MetaObjectHandler接口实战
前言:在我们向数据库插入一条数据的时候,少不了一些向createTime、updateTime此类字段,每次插入的数据都要设置这些个值,很烦,通过实现MetaObjectHandler接口重写insertFill、updateFill方法可以帮你摆脱烦恼本文概括MetaObjectHandler介绍1:编写MetaObjectHandler 实现类2:实体类上边加上@TableField(fill = FieldFill.INSERT_UPDATE)注意点小节代码链接MetaObjectHandle.原创 2021-01-29 15:04:19 · 35318 阅读 · 3 评论 -
mybatisPlus注解版动态拼接sql
前言:前段时间不是在实习嘛,公司用的是注解开发不用xml的,特此记录注解版动态拼接sql,还有使用过程中踩坑集合。先记录1.0版本,以后遇到别的在完善就是。其实就是在xml那种格式下面最外面一层用< /script > 标签包住就行了,其余部分用英文双引号包住,表达式用单引号包住就ok了,@Param(“idMin”) Integer idMin与#{idMin}对应。不过我这里如果idMin为null那么between null and 20是查不出数值的,< /script &g.原创 2021-01-27 21:06:50 · 3585 阅读 · 0 评论 -
mybatis一对多,多对一经典案例及优缺点分析
准备数据新建俩张表(student表,clalss表)sql语句如下:create table student(sId int primary key auto_increment,sName varchar(20) not null,cId int not null,constraint f_sid_cid foreign key(cId) references class(cId))engine = innodb,charset=utf8;create table class(cId原创 2020-11-15 14:36:36 · 727 阅读 · 0 评论