私はこのエラーが発生していますか? 私は何をしようとしていますか?行うにはあなたが
Integer
ないString
としてワイルドカードの場所を指定する必要があり、このPreparedStatement型のメソッドsetArray(int、Array)は、引数(String、String [])には適用されません。statement.setArray(1, array);
を試してみて、アレイ
public List<DeviceDetail> list(String[] deviceIds) throws Exception {
List<DeviceDetail> appList = new ArrayList<>();
Connection conn =null;
CallableStatement statement = conn.prepareCall("{call
Application_List(?)}");
statement.setArray("Deviceid",deviceIds);
boolean isResultSet = statement.execute();
if (isResultSet) {
try (ResultSet rs = statement.getResultSet()) {
while (rs.next()) {
DeviceDetail dd = new DeviceDetail();
dd.setDeviceId(rs.getString("DeviceId"));
dd.setToken(rs.getString("Token"));
dd.setDeviceType(rs.getString("DeviceType"));
dd.setCreatedBy(rs.getString("CreatedBy"));
dd.setCreatedTime(rs.getTimestamp("CreatedTime"));
dd.setStatus(rs.getBoolean("Status"));
appList.add(dd);
}
}
}
return appList;
}
https://docs.oracle.com/javase/8/docs/api/java/sql/PreparedStatement.html#setArray-int-java.sql.Array-とhttps://docs.oracle .com/javase/8/docs/api/java/sql/Array.html本当に必要なのでしょうか? 'Application_List'はどうなっていますか?申し訳ありません。 –