如何在iBATIS中使用IN子句?
我正在使用iBATIS来创建select语句。 现在我想用iBATIS实现以下SQL语句:
SELECT * FROM table WHERE col1 IN ('value1', 'value2');
使用以下方法,语句未正确准备且没有返回结果:
SELECT * FROM table WHERE col1 IN #listOfValues#;
iBATIS似乎重组了这个列表并尝试将其解释为字符串。
如何正确使用IN子句?
这是一篇回答你问题的博文:
iBatis:使用SQL IN关键字支持数组或列表参数
在Java中,您应该传入java.util.List。 例如
List list = new ArrayList (3); list.add("1"); list.add("2"); list.add("3"); List objs = sqlMapClient.queryForList("select-test",list);
怎么样
要么:
一个老问题,但对于MyBatis的用户,语法有点不同:
请参阅此处的指南 。
你可以像这样使用它:
在IN语句中使用$。