作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 iBATIS创建选择语句。现在我想用 iBATIS 实现如下 SQL 语句:
SELECT * FROM table WHERE col1 IN ('value1', 'value2');
使用以下方法,语句准备不正确,没有结果返回:
SELECT * FROM table WHERE col1 IN #listOfValues#;
iBATIS 似乎重组了这个列表并尝试将其解释为字符串。
如何正确使用 IN 子句?
最佳答案
这是一篇回答您问题的博文:
iBatis: Support for Array or List Parameter with SQL IN Keyword
<select id="select-test" resultMap="MyTableResult" parameterClass="list">
select * from my_table where col_1 in
<iterate open="(" close=")" conjunction=",">
#[]#
</iterate>
</select>
And in Java you should pass in a java.util.List. E.g.
List<String> list = new ArrayList<String>(3);
list.add("1");
list.add("2");
list.add("3");
List objs = sqlMapClient.queryForList("select-test",list);
关于java - 如何在 iBATIS 中使用 IN 子句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1637825/
我是一名优秀的程序员,十分优秀!