我已经看过,但无法找到我遇到的以下挑战的答案。似乎很简单,但我一直无法解决。
我有一个ArrayList类型为Long->的记录ID ArrayList<Long>。我想使用此记录ID列表从另一个表中选择行。到目前为止,一切都很好。现在面对挑战…
ArrayList
Long->
ArrayList<Long>
a)我正在使用一条准备好的语句从表中选择数据,并ArrayList以此作为输入。
selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");
上面的问题-应该如何定义参数?上面对于ArrayList类型参数似乎不正确。
b)在为准备好的语句设置参数值时,我也遇到了问题。没有设置ArrayList类型值的方法,我看不到其他可行的选择。
---> selectPS.set?????(1, arraylistParameter); ResultSet rs = selectPS.executeQuery();
非常感谢你能为我提供的任何帮助或指示。
你可能要使用setArray下面的javadoc中提到的方法:
setArray
javadoc
http://docs.oracle.com/javase/6/docs/api/java/sql/PreparedStatement.html#setArray(int,java.sql.Array)
样例代码:
PreparedStatement pstmt = conn.prepareStatement("select * from employee where id in (?)"); Array array = conn.createArrayOf("VARCHAR", new Object[]{"1", "2","3"}); pstmt.setArray(1, array); ResultSet rs = pstmt.executeQuery();