Tho*_*ady 30 java arraylist prepared-statement
我已经看过了,并且无法找到我正在接受的以下挑战的答案.这似乎很简单但我无法解决它.
我有一个ArrayList
类型为Long
- > 的记录ID ArrayList<Long>
.我想使用此记录ID列表来从另一个表中选择行.到现在为止还挺好.现在迎接挑战......
a)我正在使用预准备语句,使用ArrayList
as输入从表中选择数据.
selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");
Run Code Online (Sandbox Code Playgroud)
关于上述问题 - 如何定义参数?以上对于ArrayList
类型参数似乎不正确.
b)在为预准备语句设置参数值时,我也遇到了问题.没有设置ArrayList
类型值的方法,我看不到其他可行的选项.
---> selectPS.set?????(1, arraylistParameter);
ResultSet rs = selectPS.executeQuery();
Run Code Online (Sandbox Code Playgroud)
我们非常感谢您给我的任何帮助或指导.
谢谢.
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();
Run Code Online (Sandbox Code Playgroud)
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();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
92594 次 |
最近记录: |