3、好多人在声明下面笑,如果这都可以提bug,那mybatis的$也可以,jdbc的Statement也可以。我倒是希望...
这段代码直接使用 SqlSession 的批量操作能力来实现批量插入,避开了 @Transactional 带来的问题。 代码提交后,我对测试小哥说:“你再试试,这不是我的 bug,是框架的问题。”😎 # 最后的思考 在这个事件中,我再次体会到使用第三方库时保持警惕...
复杂SQL解析失败,会出现错误。将jsqlparser升级到4.6版本仍然无法解决。 后与jsqlparser贡献者进行交流,知晓jsqlparser-4.7-SNAPSHOT版本能解决此问题,但更新后发现,分页拦截器内使用的SelectExpressionItem在4.7版本中已去除,因此,与mybatis-plus版本不兼容。故提出此问题,看是否有解决方案。 复杂SQL如下: SELECT b.*...
——歌德 前两天遇到一个坑,使用mybatis-plus的时候,SQL出现两个LIMIT 经过查阅官方文档才发现,这是因为配置了两个分页拦截器 经过检查,果然发现两个 然后我去掉一个后就解决了 经过这次BUG,我总结出用别人的框架/组件,一定要多阅读官方文档,这样才不会踩了坑也不知道怎么办...
简介:java枚举触发了Mybatis Plus的BUG折腾了我三个小时,怀疑人生 问题 昨天用mybatis-plus写了一段crud,代码如下: @Transactional@Overridepublic boolean updateTaskStatus(Integer taskId, TaskStatusEnum taskStatusEnum) {// 查询任务Task task = taskMapper.selectById(taskId);if (Objects.isNull(task)) {th...
( metaObject);// 或者// this.strictInsertFill(metaObject, "createTime", () -> LocalDateTime.now(), LocalDateTime.class); // 起始版本 3.3.3(推荐)// 或者// this.fillStrategy(metaObject, "createTime", LocalDateTime.now()); // 也可以使用(3.3.0 该方法有bug)}@OverridepublicvoidupdateFill(...
更新MyBatis Plus版本:如果你使用的是较旧的MyBatis Plus版本,可能会存在一些已知的bug或者不兼容的问题。尝试更新到最新版本,看看问题是否得到解决。 自定义批量插入方法:如果以上方法都无法解决问题,你可以考虑自定义批量插入方法,而不是直接使用MyBatis Plus提供的saveBatch方法。在自定义方法中,你可以对每个对象进行...
前言 今天在公司无聊闲来无事,就想找点事做,想起来之前有个服务有个bug,就是Mybatis-Plus在做增删改的时候创建时间和修改时间这些公共的字段没有自动填充,于是我就开始找bug了。。。 问题 从图片中大家可以清楚看到一条sql有4个字段的值是null 正是公共字段: creationD
mybatiesplus二级缓存bug mybatis二级缓存原理 0.简介 二级缓存是Application应用级别的缓存,它的是生命周期很长,跟Application的声明周期一样,也就是说它的作用范围是整个Application应用。 1、二级是mapper级别的缓存。使用二级缓存时,多个sqlSession使用同一个Mapper的sql语句去操作数据库,得到的数据会存在二级缓存区域,...
LocalDateTime.class,LocalDateTime.now());// 起始版本 3.3.0(推荐)// 或者this.strictUpdateFill(metaObject,"updateTime",()->LocalDateTime.now(),LocalDateTime.class);// 起始版本 3.3.3(推荐)// 或者this.fillStrategy(metaObject,"updateTime",LocalDateTime.now());// 也可以使用(3.3.0 该方法有bug)}...