想問一下,為什么JDBC工具類中釋放資源的多載要實作兩次,看到有一些解釋是:因為有的sql陳述句需要用結果集物件,所以使用兩個多載方法釋放資源。
那什么是結果集物件,什么時候需要用到結果集物件呢,直接一次將Statement ,Connection,ResultSet 全部多載不就行了嗎。
public static void close(Statement stmt,Connection conn){
if( stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(ResultSet rs,Statement stmt, Connection conn){
if( rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( stmt != null){
try {
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if( conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
uj5u.com熱心網友回復:
需要獲取結果 不就用到結果集物件嗎uj5u.com熱心網友回復:
那為什么不能直接將結果集ResultSet多載,而是放到第二個釋放資源的方法里啊
uj5u.com熱心網友回復:
public static void close(Statement stmt,Connection conn):這個是給update insert delete用的public static void close(ResultSet rs,Statement stmt, Connection conn) 這個是給select用的
之所以查詢要單獨拎出來,是因為mybatis針對查詢做了很多優化,例如二級快取的設計
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/204875.html
標籤:Web 開發
上一篇:Wifi驅動開發-學習筆記(一)
下一篇:tomcat問題
