2010-10-27 43 views
0

我想問一個關於SQL的問題。我有下面的表格。如何檢索SQL中的一組表數據?

Name Phone 
a 1 
b 2 
c 3 
d 4 
e 5 

我有一個包含[a,b,c,d,e]的ArrayList(java)。是否可以將ArrayList放入mySQL語句中以檢索所有電話號碼?謝謝。

回答

1

您可以爲所有的名字IN子句和結果集映射到您的數據:

SELECT Name, Phone FROM Numbers WHERE Name IN ('a','b','c','d','e') 

我敢肯定,現在已有爲你做的工作所需要的庫。你的研究可以從http://www.hibernate.org/開始。

0

您必須爲每個java創建自己的語句。 迭代arraylist並將每個字符串元素添加到語句中。

1

我不認爲有這樣做的直接方式。
但是你有以下幾種選擇:

  1. 可以使用IN子句。通過在列表上循環並創建一個字符串來動態創建IN子句。注意:Oracle將IN子句中的條目數限制爲1000.

  2. 您可以將值插入(temp)表並在SQL中,IN子句中或在JOIN中使用此表(我更喜歡在加入)

  3. 你可以有一個PL/SQL存儲過程,需要在(Oracle)的數組作爲參數。並通過存儲過程中的這個數組循環。例如,請參閱this

相關問題