2016-10-18 51 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列表。