QQ泡沫乐园 · 免费提供游戏辅助,破解软件,活动资讯,喜欢记得收藏哦!
综合软件_线报活动_游戏辅助_最新电影_最优质的的辅助分享平台

【技术分析】JDBC的工具类写到getConnection方法和close方法

泡沫乐园 2022-05-13 21:02

最近在写JDBC工具

在写getConnection方法和close方法的时候,我一头雾水。

/**
 * 获取连接
 * @return 连接对象
 */
public static Connection getConnection() throws SQLException {
    return DriverManager.getConnection(url, user, password);
}
/**
 * 释放资源
 * @param stmt
 * @param conn
 */
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();
        }
    }
}

问题是为什么要处理getConnection方法

DriverManager.getConnection(url, user, password);

抛出一个 SQLException,为什么不 try-catch

释放资源时为什么close使用try-catch而不是throw

记录日志的时候不要抛出异常

关键点分析:

1、抛出异常后,以下代码不会被执行

2、try-catch时,即使catch遇到异常,下面的代码也会继续执行

getConnection的时候不需要使用trycatch,因为如果连数据库都连接不上,后面的操作就不用讲数据库的操作了。

释放资源时需要trycatch,因为关闭的资源不止一个。

本例中,如果抛出了语句异常记录日志的时候不要抛出异常,后续的conn资源无法关闭记录日志的时候不要抛出异常,所以使用try-catch比较合适。

以上均为个人分析。如有错误,请指出,共同进步。

相关文章