欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

对jdbc的注册驱动和资源释放进行封装的工具类

程序员文章站 2022-04-22 11:35:50
对jdbc的注册驱动和资源释放等代码进行封装由于每回都需要重复写代码,为了提高复用性。我们写一个jdbc工具类。下次在进行驱动和释放资源时可以直接调用工具类中的 方法。package com.atguigu.DBUtil;import java.sql.*;/** * jdbc工具类 **/public class DBUtil {//因为注册只需要进行一次,所以写在静态代码块中,当类加载的时候进行调用且只会调用一次 static { try {...

对jdbc的注册驱动和资源释放等代码进行封装

由于每回都需要重复写代码,为了提高复用性。我们写一个jdbc工具类。下次在进行驱动和释放资源时可以直接调用工具类中的 方法。

package com.atguigu.DBUtil; import java.sql.*; /**
 * jdbc工具类
 **/ public class DBUtil { //因为注册只需要进行一次,所以写在静态代码块中,当类加载的时候进行调用且只会调用一次 static { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } /*
    工具类的构造方法都是私有的
    因为工具类不需要new对象。里面方法都是静态的,直接采用类名调用
     */ private DBUtil(){}; /**
     * 获取数据库连接对象
     * @return 连接对象
     * @throws SQLException
     * 在这里需要标注数据库、用户名和密码
     * 这里采用mysql数据库的url作为例子
     */ public static Connection getConnection() throws SQLException { return DriverManager.getConnection("jdbc:mysql://localhost:3306/xxx","xxx","xxx"); } /**
     * 关闭资源
     * @param connection 连接对象
     * @param ps 
     * @param rs
     */ public static void close(Connection connection, Statement ps, ResultSet rs){ if(rs !=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(ps !=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } if(connection !=null){ try { rs.close(); } catch (SQLException e) { e.printStackTrace(); } } } } 

下面我们对自己写的工具类进行测试
这里我们采用sql中的模糊查询作为例子对其进行测试

package com.atguigu.homework; import com.atguigu.DBUtil.DBUtil; import org.junit.Test; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /**
 * 模糊查询
 * 测试DBUtil是否好用
 **/ public class Test13 { @Test public void testSelect(){ Connection connection =null; PreparedStatement ps=null; ResultSet rs=null; try { //获取连接 connection = DBUtil.getConnection(); ps=connection.prepareStatement("select * from t_user where username like ?"); //在这里模糊查询的条件需要用占位符的方式写进去,这里查询用户名中带有d的人 ps.setString(1,"%d%"); rs=ps.executeQuery(); while(rs.next()){ //这里获得年龄来测试是否运行成功 System.out.println(rs.getInt("age")); } } catch (SQLException e) { e.printStackTrace(); }finally { //释放资源 DBUtil.close(connection,ps,rs); } } } 

可以成功得出结果,即工具类可以正常使用。
注意:需要导入三个jar包对jdbc的注册驱动和资源释放进行封装的工具类

本文地址:https://blog.csdn.net/qq_43596152/article/details/108263320

相关标签: jdbc 封装