MyBatis中使用foreach循环的坑及解决
作者:小黄鸭007 时间:2023-11-02 12:47:51
使用foreach循环的坑
我们首先看一段MyBatis中使用foreach循环的sql:
SELECT * FROM table where id in
<foreach item="item" collection="ids1" open="(" close=")" index="0" separator=",">
#{item}
</foreach>
这段sql执行会添加几个占位符,正确写法foreach写到一行:
正确写法为
SELECT * FROM table where id in
<foreach item="item" collection="ids1" open="(" close=")" index="0" separator=",">#{item}</foreach>
忽现的Mybatis foreach失效记录
传进来的 list 肯定有值得,本身代码没有问题。 线上也算跑了大半年了。 而且出现的问题时也只在本机上.
mybatis.version=3.2.8
代码:
AND (
<foreach collection="list" open=" id IN (" separator="," close=")" item="id" index="index">
#{id}
</foreach>
OR (GRADE In ('0','1')
AND user_type = '5'
)
)
正确结果应该是:
AND ( id IN ('1','2','3')
OR (GRADE In ('0', '1') AND user_type = '5')
)
实际结果:
AND (
OR (GRADE In ('0', '1') AND user_type = '5')
)
造成SQL 执行语法错误.
复现方式:暂无复现方法
解决方案
随便改了一下Dao.java的一个文件内容(没做实际性的内容改动,ide 重新加载了下Dao). bug就好了. 好了 . 了...
来源:https://blog.csdn.net/qq_41537781/article/details/106012259
标签:MyBatis,foreach,循环
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Spring Boot 集成Mybatis实现主从(多数据源)分离方案示例
2023-08-10 07:43:21
![](https://img.aspxhome.com/file/2023/5/64485_0s.png)
spring cloud zuul修改请求url的方法
2022-09-03 01:44:19
秒懂Java枚举类型(enum)
2023-03-30 07:39:41
c# 网址压缩简单实现短网址
2022-10-06 15:37:17
Java读写Windows共享文件夹的方法实例
2022-10-02 02:25:45
浅谈Java与C#的一些细微差别
2022-09-25 06:33:36
C#中async和await的深入分析
2023-09-14 17:11:20
![](https://img.aspxhome.com/file/2023/5/106435_0s.jpg)
C#如何自定义multipart/form-data的解析器
2023-12-04 18:59:03
Android OKHttp使用简介
2022-05-01 06:28:38
SpringBoot在项目中访问静态资源步骤分析
2022-12-13 08:04:31
![](https://img.aspxhome.com/file/2023/2/110932_0s.png)
C#实现两个richtextbox控件滚动条同步滚动的简单方法
2023-10-14 19:34:51
![](https://img.aspxhome.com/file/2023/5/129625_0s.png)
判断图片-判断位图是否是黑白图片的方法
2023-06-09 17:20:07
使用java + selenium + OpenCV破解腾讯防水墙滑动验证码功能
2023-07-23 14:32:47
![](https://img.aspxhome.com/file/2023/3/75653_0s.png)
浅谈java异常处理之空指针异常
2022-07-31 03:12:27
Android实现背景图片轮播
2023-09-05 00:16:27
![](https://img.aspxhome.com/file/2023/7/139397_0s.jpg)
Android自定义加载圈的方法
2023-07-16 14:38:46
![](https://img.aspxhome.com/file/2023/2/138682_0s.gif)
Java基于ArrayList实现群主发红包功能
2022-04-06 20:34:09
![](https://img.aspxhome.com/file/2023/4/74914_0s.png)
Java结构型设计模式中建造者模式示例详解
2023-04-24 13:37:31
![](https://img.aspxhome.com/file/2023/6/60286_0s.png)
带你了解C++的数组与函数
2023-12-10 20:44:18
![](https://img.aspxhome.com/file/2023/6/127516_0s.jpg)
Java Socket通信(一)之客户端程序 发送和接收数据
2023-07-05 00:34:48