一个接口中大概有四五条SQL查询, 我都是对每一条SQL建立一个新的连接的, 查询完立刻释放掉. 请问这样做对吗?
下面是代码:
public static List> queryForListPostgersql(String sql, String[] keyNames){
Connection conn = null;
Statement stmt = null;
ResultSet resultSet = null;
List<Map<String, Object>> results = new ArrayList<>();
try {
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection(jdbcUrl,username,password);
stmt = conn.createStatement();
resultSet = stmt.executeQuery(sql);
while (resultSet.next()) {
Map<String, Object> map = new HashMap<>();
for (int i = 0; i < keyNames.length; i++) {
map.put(keyNames[i], resultSet.getObject(i + 1));
}
results.add(map);
}
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
try {
resultSet.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return results;
}