如何在SQL中检索一组表数据?

时间:2010-10-27 09:31:39

标签: java sql mysql

我想问一个关于SQL的问题。我有下表。

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

我有一个包含[a,b,c,d,e]的ArrayList(java)。是否可以将ArrayList放入mySQL语句中以检索所有电话号码?谢谢。

3 个答案:

答案 0 :(得分:1)

您可以为所有名称创建一个IN子句,并将结果集映射到您的数据:

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

我确信已有图书馆为您完成所需的工作。您可以从http://www.hibernate.org/开始研究。

答案 1 :(得分:1)

我认为没有直接的方法可以做到这一点 但是您有以下选择:

  1. 您可以使用IN子句。通过循环遍历列表并创建字符串来动态创建IN子句。注意:Oracle将IN子句中的条目数限制为1000.

  2. 您可以将值插入(temp)表,并在SQL中,IN子句中使用此表,或者作为JOIN使用此表(我更喜欢连接)

  3. 您可以将PL / SQL存储过程作为参数接收(oracle)数组。并在存储过程中循环遍历此数组。有关示例,请参阅this

答案 2 :(得分:0)

你必须为每个java创建自己的语句。 迭代arraylist并将每个字符串元素添加到语句中。