如何在where条件中传递多个搜索值

时间:2016-10-18 18:50:00

标签: java mysql sql jdbc

我在java程序中连接到数据库。我有一种情况需要动态传递过滤器值,过滤值取决于java代码的其他部分

示例查询:从table1中选择*,其中id为(动态和多个)?

如何使用Java连接传递这些动态和多个值。

2 个答案:

答案 0 :(得分:0)

试试这个

String query =  "select * from emp where id in(##)";

像这样创建in子句

String inClause = "'abcd', 'cedf', '1234'";

String finalQuery = query.replace("##", inClause );

答案 1 :(得分:0)

如果您使用的是iBatis,可以尝试使用以下sql查询: -

<select id="table1Result" resultMap="table1Map">
select * from table1 where id in <foreach item="item" index="index" collection="list" open="(" separator=","        close=")"</select>

从java调用它时,传递一个id列表。