我目前正在創建許多類,它們將使用連接池訪問數據庫。 所以我得到一個連接,創建一個語句並獲得結果集。 (我不能使用Java 1.7和美妙自動資源管理) 當完成我的方法,我必須有一個finally塊完成:Java 1.6 java.sql try/catch /終於瘋狂編碼
if (rs != null) {
try {
rs.close();
} catch (SQLException sqle) {
logger.error("Couldn't close result set", sqle);
}
}
if (st != null) {
try {
st.close();
} catch (SQLException sqle) {
logger.error("Couldn't close statement", sqle);
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException sqle) {
logger.error("Couldn't close connection", sqle);
}
}
我已經看到了噩夢這將是XX班每個方法有4/5個方法。
難道是很好的做法,使一個輔助類,這將有一個特殊的接近方法爲每個對象類型,如:
public static void closeResource(Connection connection) {
if (connection != null) {
try {
connection.close();
} catch (SQLException sqle) {
logger.error("Couldn't close connection", sqle);
}
}
然後只是在做我平時finally
與xx.close(connection);xx.close(statement);xx.close(rs);
還是在同樣的想法(我知道在這一點上,我會震驚一些人,因爲我自己發現有點囉嗦),有一個像public static void closeResources(Object... obj) {}
方法與instanceof
可怕列表?
或者根據你的經驗,到處編碼整個事情比較好?
也許看看使用方面。您可以使用aspectJ編寫此功能。 – mcfinnigan 2012-02-29 16:28:17
您可能感興趣的[Spring JDBC vs Plain JDBC之間的區別?](http:// stackoverflow。com/questions/9469643) – 2012-02-29 16:29:38
@TomaszNurkiewicz感謝您向我介紹Spring JDBC,我不會爲此項目付出代價,但我會牢記這一點。 – 2012-02-29 16:42:44