mybatis 遇到一个问题,foreach标签 自动生成的空格 导致 sql 报错。

Cherish_90722 2019-08-12 10:17:43

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''星期'   ,     '周一'   ,     '周一'  ' at line 6
数据就是随意的测试数据,调了半天不知道是什么问题,之前在其他项目中也写过很多 也没遇到这个问题。。。
...全文
1387 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27618711 2021-05-11
  • 打赏
  • 举报
回复
这是List<String>的问题,打印的时候元素前都被加了空格
Cherish_90722 2019-11-15
  • 打赏
  • 举报
回复
不知道 哪里出的问题,重新剪切粘贴一次就好了。。。。
软件老王 2019-08-13
  • 打赏
  • 举报
回复
报的sql拼接的不对,可以用MyBatis Log Plugin 插件把sql打出来看一下,然后再定位问题
maradona1984 2019-08-13
  • 打赏
  • 举报
回复
开动脑筋,我觉得你foreach标签里有全角/半角空格字符,建议你删掉重新敲,注意选择输入法
  • 打赏
  • 举报
回复
replace(<foreach collection="list" item="item" separator="," open="(" close=")"> #{item} </foreach>,' ','') 这样应该可以去掉空格,你可以试下
getdate 2019-08-13
  • 打赏
  • 举报
回复
引用 楼主 Cherish_90722 的回复:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''星期'   ,     '周一'   ,     '周一'  ' at line 6 数据就是随意的测试数据,调了半天不知道是什么问题,之前在其他项目中也写过很多 也没遇到这个问题。。。
这种空格肯定是没有问题的. 我觉得,你最好还是从你的数据集合来找下原因.把你的数据集合toString 打印下看看.

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧