如何在iBATIS中使用IN子句?

我正在使用iBATIS创建选择语句。现在,我想用iBATIS实现以下SQL语句:

SELECT * FROM table WHERE col1 IN ('value1', 'value2');

使用以下方法,语句准备不正确,并且没有结果返回:

SELECT * FROM table WHERE col1 IN #listOfValues#;

iBATIS似乎重新构建了该列表,并尝试将其解释为字符串。

如何正确使用IN子句?

回答:

这是一篇博客文章,回答您的问题:

iBatis:使用SQL IN关键字支持数组或列表参数

<select id="select-test" resultMap="MyTableResult" parameterClass="list">

select * from my_table where col_1 in

<iterate open="(" close=")" conjunction=",">

#[]#

</iterate>

</select>

在Java中,您应该传入java.util.List。例如

List<String> list = new ArrayList<String>(3);

list.add("1");

list.add("2");

list.add("3");

List objs = sqlMapClient.queryForList("select-test",list);

以上是 如何在iBATIS中使用IN子句? 的全部内容, 来源链接: utcz.com/qa/417880.html

回到顶部