Tho*_*ady 30 java arraylist prepared-statement
我已经看过了,并且无法找到我正在接受的以下挑战的答案.这似乎很简单但我无法解决它.
我有一个ArrayList类型为Long- > 的记录ID ArrayList<Long>.我想使用此记录ID列表来从另一个表中选择行.到现在为止还挺好.现在迎接挑战......
a)我正在使用预准备语句,使用ArrayListas输入从表中选择数据.  
selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");
关于上述问题 - 如何定义参数?以上对于ArrayList类型参数似乎不正确.
b)在为预准备语句设置参数值时,我也遇到了问题.没有设置ArrayList类型值的方法,我看不到其他可行的选项.
---> selectPS.set?????(1, arraylistParameter);
     ResultSet rs = selectPS.executeQuery(); 
我们非常感谢您给我的任何帮助或指导.
谢谢.
Yog*_*ngh 52
您可能想要使用setArray下面javadoc中提到的方法:
示例代码:
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();
Ami*_*bey 22
如果你有ArrayList然后转换成Array [Object]
ArrayList<String> list = new ArrayList<String>();
PreparedStatement pstmt = 
            conn.prepareStatement("select * from employee where id in (?)");
Array array = conn.createArrayOf("VARCHAR", list.toArray());
pstmt.setArray(1, array);
ResultSet rs = pstmt.executeQuery();
| 归档时间: | 
 | 
| 查看次数: | 92594 次 | 
| 最近记录: |