MyBatis分页时foreach异常
来源:互联网 发布:乌克兰停电 网络攻击 编辑:程序博客网 时间:2024/06/05 20:15
MyBatis使用分页插件时并且查询条件包含foreach时,分页插件在执行count语句时会抛出异常,报参数为空异常。项目中使用到了MyBatisPlus,分页也是用的它的PaginationInterceptor,项目中的版本为1.3.6。分页插件会新增一个COUNT的SQL,并复制原BoundSql对象,然后使用DefaultParameterHandler.setParameters给COUNT语句设值。foreach过程中产生的参数变量是放在AdditionalParameter中,但复制BoundSql时并没有复制其中的additionalParameters字段,而由foreach产生的参数是存放在additionalParameters中,所以导致参数空异常。解决方案就是反射获取到additionalParameters字段的值并设置到新产生的BoundSql中去。此Bug在高版本已修复,它继承实现了一个MybatisDefaultParameterHandler去设置COUNT语句的值,直接使用原始BoundSql,首先是直接到BoundSql中找值,找不到时还会反射additionalParameters。
阅读全文
0 0
- MyBatis分页时foreach异常
- Mybatis 报分页插件异常
- mybatis foreach
- mybatis foreach
- mybatis foreach
- mybatis foreach
- mybatis foreach
- mybatis foreach
- foreach remove 时出现并发修改异常
- mybatis <foreach>标签
- mybatis--foreach,choose 小结
- Mybatis的foreach使用
- Mybatis <foreach>语句
- Mybatis foreach 批量操作
- mybatis <foreach>标签
- mybatis foreach介绍
- MyBatis foreach用法
- mybatis之foreach
- 解决Eclipse报错“Building workspace has encountered a problem. Errors during build.”
- 序列化之protobuf与avro对比(Java)
- 物理内存与虚拟内存之间的映射
- 11月16日云栖精选夜读:阿里云 oss JavaScript客户端签名文件上传 vue2.0
- PHP 多进程操作 循环pcntl_fork操作
- MyBatis分页时foreach异常
- windows、 Linux 、Macos更换pip源
- java jdk1.8 LinkedList源码解析
- 动漫人物眼睛绘画技巧
- bootstrap-table 表头或组合表头,和内容无法对齐的问题
- 一张图看懂阿里云网络产品[五]负载均衡SLB
- springboot番外之redis
- 封装Response和Request
- IntelliJ IDEA 常用设置讲解