mybatis中报错

Jeocy 发布于 2017/09/04 17:18
阅读 207
收藏 0

请问一下怎么解决这种情况?

加载中
1
蓝水晶飞机
蓝水晶飞机
又一个写$的!请用#{variable}
蓝水晶飞机
蓝水晶飞机
这是其一,$的用法不一样啊
Jeocy
Jeocy
是因为使用#,可以防止sql注入吗?
0
ccccJJ
ccccJJ

用foreach

http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html

Jeocy
Jeocy
报的是这个Return value (106,107) was not iterable.
Jeocy
Jeocy
我这样子写还是报错呢、where u.id in <foreach item="item" index="index" collection="id" open="(" separator="," close=")"> #{item} </foreach>
0
qsding
qsding
foreach 遍历插入
Jeocy
Jeocy
希望大神指导一下、
0
pantrick
pantrick

你的sql语句不正确啊 in 里面应该是('a','b','c')

Jeocy
Jeocy
谢谢,已解决、
0
公孙二狗
公孙二狗

id != 0 的地方,id 其实是一个字符串吧,但是你和 0 比较了,这个时候要先转换为数字在比较,转换出错了,可以试试 id != null

公孙二狗
公孙二狗
回复 @Jeocy : id != '0'
Jeocy
Jeocy
是因为id不等于0的时候,才会执行这一句话,这是用来过滤的、
0
小99
小99

你的id是数字类型吧?  你的sql   是  id in ("106,107")了

Jeocy
Jeocy
id是String类型的,<if test="id != '0'.toString()">这样就好了、
0
sprouting
sprouting

楼上正解,用#

Jeocy
Jeocy
谢谢,已解决、我把0转化了一下’’0'.toString()、
0
哎码
哎码

<if test="id != null and id != ''">string都是这么判断的,如果判断不为0,

<if test="id != null and id != '' and id != '0'">

返回顶部
顶部