2016-10-18 27 views
0

我连接到我的Java程序中的数据库。我有一种情况,我需要动态地传递过滤器值,过滤器值取决于其他部分的Java代码如何通过多个搜索值在哪里条件

示例查询:select * from table1 where id in(dynamic and multiple)?

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

+0

我有一个值的列表,我需要传递给我的where条件,如何传递这些值。请帮我解决 –

+0

你可以在子句中创建字符串并追加到查询中。 – lsiva

+0

选择* from emp where id in(list(0),list(1),list(2)); –

回答

0

试试这个

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

创建条款这样

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

String finalQuery = query.replace("##", inClause); 
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列表。