一、DBUtil工具类的创建
在之前的博客中,为了提高代码的复用性,将查询和增删改的实现过程分别封装到了两个方法中。但是以后我们想要使用该功能时,还是需要先把相应的方法写好才能调用,这样依然很不方便。于是,根据Java面向对象的思想,定义一个DBUtil工具类,将查询和增删改的方法封装到工具类中,以后如果想要使用查询和增删改的功能,就可以直接通过DBUtil这个工具类来调用,非常方便。
//创建一个接口以实现查询功能
interface IRowMapper{
void rowMapper(ResultSet res);
}
public class DBUtil {
//因为加载驱动的代码只需要执行一次即可,没必要重复执行,所以封装到静态代码块中
static {
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
//将建立连接的代码抽取出来,提高代码的复用性
private static Connection getConnection() {
try {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "0314");
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
//实现查询功能
public static void select(String sql, IRowMapper rowMapper) {
Connection connection = null;
Statement statement = null;
ResultSet result = null;
try {
connection = getConnection();
statement = connection.createStatement();
result = statement.executeQuery(sql);
rowMapper.rowMapper(result);
} catch (Exception e) {
e.printStackTrace();
}finally {
close(result, statement, connection);
}
}
//实现增删改功能
public static boolean update(String sql) {
Connection connection = null;
Statement statement = null;
try {
connection = getConnection();
statement = connection.createStatement();
return statement.executeUpdate(sql) > 0;
} catch