如何在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语句中使用$。