【JDBC】学习路径5-提取JDBCUtils工具类

Posted on 2022-05-23 16:42  罗芭Remoo  阅读(46)  评论(0编辑  收藏  举报

回顾我们上面几节的内容,我们发现重复代码非常多,比如注册驱动、连接、关闭close()等代码,非常繁杂。

于是我们将这些重复的大段代码进行包装。提取成JDBCUtils工具类。


第一章:提取注册连接模块

import java.sql.Connection;
import java.sql.DriverManager;

public class JDBCUtils {
    private static final String CURL = "jdbc:mysql://localhost:3306/jdbc_01?useUnicode=true&characterEncoding=UTF8";
    private static final String USERNAME = "root";
    private static final String PASSWORD = "88888888";
    
    public static Connection getConnection(){
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            
            return DriverManager.getConnection(CURL,USERNAME,PASSWORD);

        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}

第二章:提取关闭close()代码

...
public static void close(Connection con, PreparedStatement pstmt, ResultSet rs){
    try {
        pstmt.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    
    try {
        con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
}
...

 第三章:使用我们的工具类

把上一节写的代码简化一下

 

 

 

这个过程利用了重构的思想。

把大量重复的代码包装起来。

 

那么我们现在的JDBC程序模版如下:

public static boolean JDBC_Name(){
    Connection con=null;
    PreparedStatement pstmt =null;
    ResultSet rs =null;
    
    JDBCUtils.getConnection();

    try {
        con = JDBCUtils.getConnection();

        ...
        
        return true;
    } catch (Exception e) {
        e.printStackTrace();
    }finally{
        JDBCUtils.close(con,pstmt,rs);
    }
    return false;
}