如何将arraylist用作准备好的语句参数

我已经看过,但无法找到以下挑战的答案。似乎很简单,但我一直无法解决。

我有一个ArrayList类型为Long-> 的记录ID ArrayList<Long>。我想使用此记录ID列表从另一个表中选择行。到现在为止还挺好。现在面对挑战...

a)我正在使用一条准备好的语句从表中选择数据,并ArrayList以此作为输入。

selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");

上面的问题-应该如何定义参数?上面对于ArrayList类型参数似乎不正确。

b)在为准备好的语句设置参数的值时,我也遇到了问题。没有设置ArrayList类型值的方法,我看不到其他可行的选择。

---> selectPS.set?????(1, arraylistParameter);
     ResultSet rs = selectPS.executeQuery();

您能为我提供的任何帮助或指示,我们将不胜感激。

谢谢。


慕田峪7331174
浏览 485回答 3
3回答

郎朗坤

如果您有ArrayList,则转换为Array [Object]ArrayList<String>&nbsp;list&nbsp;=&nbsp;new&nbsp;ArrayList<String>();PreparedStatement&nbsp;pstmt&nbsp;=&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;conn.prepareStatement("select&nbsp;*&nbsp;from&nbsp;employee&nbsp;where&nbsp;id&nbsp;in&nbsp;(?)");Array&nbsp;array&nbsp;=&nbsp;conn.createArrayOf("VARCHAR",&nbsp;list.toArray());pstmt.setArray(1,&nbsp;array);ResultSet&nbsp;rs&nbsp;=&nbsp;pstmt.executeQuery();
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java