Java JDBC自定义封装工具类的步骤和完整代码

网友投稿 286 2023-01-28

Java JDBC自定义封装工具类的步骤和完整代码

封装JDBC工具类的作用可以优化代码,提高开发效率

步骤

① 创建配置文件(config.properties),用于存放注册驱动和连接数据库时所需要的参数值

② 自定义一个类(JDBCUtils.java)

③ 实现构造私有方法 private JDBCUtils(){}

④ 声明所需要的配置变量

private static String driverClass;

private static String url;

private static String username;

private static String password;

private static Connection conn;

⑤ 提供静态代码量,读取配置文件,并为配置变量赋值,注册驱动

⑥ 定义数据库连接方法 public static Connection getConnection();

⑦ 定义释放资源方法(两个)

// 查询操作时所使用的的释放资源方法

public static void close(Connection conn, Statement st, ResultSet rs);

// 增删改操作时所使用的的释放资源方法

public static void close(Connection conn, Statement st)

完整代码

package com.cmy.utils;

import java.io.InputStream;

import java.sql.*;

import java.util.Properties;

/**

* JDBC工具类

* @author ChenMingYong

*/

public class JDBCUtils {

/**

* 1.私有构造方法

*/

private JDBCUtils(){}

/**

* 2.声明所需要的配置变量

*/

private static String driverClass;

private static String url;

private static String username;

private static String password;

prihttp://vate static Connection conn;

// 3.提供静态代码块,读取配置文件的信息,为变量赋值,注册驱动

static {

try{

// 读取配置文件的信息,为变量赋值

InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("config.properties");

Properties prop = new Properties();

prop.load(is);

driverClass = prop.getProperty("driverClass");

url = prop.getProperty("url");

username = prop.getProperty("username");

password = prop.getProperty("password");

// 注册驱动

Class.forName(driverClass);

}

catch (Exception e){

e.printStackTrace();

}

}

/**

* 4.提供数据库连接方法

* @return

*/

public static Connection getConnection(){

try {

conn = DriverManager.getConnection(url, username, password);

}

catch (Exception e){

e.printStackTrace();

}

return conn;

}

/**

* 5.查询操作时所使用的的释放资源方法

* @param conn

* @param st

* @param rs

*/

public static void close(Connection conn, Statement st, ResultSet rs){

if(conn != null){

try{

conn.close();

}

catch (SQLException e){

e.printStackTrace();

}

}

if(st != null){

try{

st.close();

}

catch (SQLException e){

e.printStackTrace();

}

}

if(rs != null){

try{

rs.clhttp://ose();

}

catch (SQLException e){

e.printStackTrace();

}

}

}

/**

* 5.增删改操作时所使用的的释放资源方法

* @param conn

* @param st

*/

public static void close(Connection conn, Statement st){

if(conhttp://n != null){

try{

conn.close();

}

catch (SQLException e){

e.printStackTrace();

}

}

if(st != null){

try{

st.close();

}

catch (SQLException e){

e.printStackTrace();

}

}

}

}

总结

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java编写超时工具类实例讲解
下一篇:什么是开放api接口吗(API是接口吗)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~