回顾我们上面几节的内容,我们发现重复代码非常多,比如注册驱动、连接、关闭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;
}