【发布时间】:2021-01-25 17:43:36
【问题描述】:
代码:
protected List<Object> getAll(Pair<String, Object> primaryKey, String columnLabel) {
List<Object> objects = new ArrayList<>();
try {
ResultSet resultSet = getRows(primaryKey);
while (resultSet.next()) {
objects.add(resultSet.getObject(columnLabel));
}
} catch (Exception e) {
e.printStackTrace();
} finally {
return objects;
}
}
protected ResultSet getRows(Pair<String, Object> primaryKey) {
try (Connection con = DataSource.getConnection();
PreparedStatement pst = con.prepareStatement("SELECT * FROM " + table + " WHERE `" + primaryKey.fst + "` = ?")) {
pst.setObject(1, primaryKey.snd);
return pst.executeQuery();
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
表的列是:id (int) |播放器(字符串) |朋友(字符串)
因为 id 是自动递增的。
错误指向(第5行):
while (resultSet.next()) {
ResultSet 何时关闭?
SQLEmmber#getAll(Pair
【问题讨论】:
标签: java mysql sql jdbc resultset