在以下代码片段中,
1) try-catch 块是否在调用“conn.close()”之前自动调用“conn.rollback()”(通过 AutoClose)?如果没有,我是否必须在finally { conn.rollback(); }
该块中添加一个?
2) Connection 对象传递给 bar() 方法的方式是否正确,其中的 try-catch 方法是否正确?
public void foo() {
try (Connection conn = datasource.getConnection()) {
bar(conn, "arg");
conn.commit();
} catch (SQLException e) {
e.printStackTrace();
}
}
public void bar(Connection conn, String args) throws SQLException {
try (PreparedStatement ps = conn.prepareStatement("SOME_QUERY")) {
// Do something
ps.executeUpdate();
} catch (SQLException err) {
throw err;
}
}