对于下面的挑战,我已经寻找了答案,但一直无法找到答案。这看起来很简单,但我一直无法解决它。
我有一个类型为Long
-> ArrayList<Long>
的记录I的ArrayList
。我想使用此记录I列表从另一个表中选择行。到目前一切尚好。现在开始挑战..。
a)我使用一条准备好的语句从表中选择数据,并使用ArrayList
作为输入。
selectPS = dbConnection.prepareStatement("select columnA from tableA where id in ?");
上面的问题-参数应该如何定义?对于ArrayList
类型参数,上面的说明似乎不正确。
b)在设置预准备语句的参数值时,我也遇到了问题。没有设置ArrayList
类型值的方法,我也看不到其他可行的选择。
---> selectPS.set?????(1, arraylistParameter);
ResultSet rs = selectPS.executeQuery();
我非常感谢你能给我提供的任何帮助或方向。
谢谢。
发布于 2013-07-25 02:43:22
您可能需要使用下面的javadoc中提到的setArray
方法:
示例代码:
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();
发布于 2014-11-13 12:18:22
为什么要让生活变得艰难-
PreparedStatement pstmt = conn.prepareStatement("select * from employee where id in ("+ StringUtils.join(arraylistParameter.iterator(),",") +)");
https://stackoverflow.com/questions/17842211
复制相似问题