大神,我在mybatis(连的mysql)中id in (${Idstr})(id为varchar,Idstr为字符串1,2,3,4,5)

可以查出id为1的数据,现在不让用$符了,我改成#就查不到了
2025-06-21 13:03:36
推荐回答(1个)
回答1:

$代表直接替换,就是用”1,2,3,4,5“直接替换${Idstr},该动作执行实在prepare操作之前。

而#代表要进行类型转换,是在prepare操作之后,实际上是setString方法

你这样直接把$换成#当然不行了

你这个查询正确的写法,${Idstr}的位置应该使用foreach标签,将idStr作为一个集合传入进来,foreach具体用法你查下相关资料就可以了