如何在Java中自定义封装一个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;
private 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.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
}
/**
* 5.增删改操作时所使用的的释放资源方法
* @param conn
* @param st
*/
public static void close(Connection conn, Statement st){
if(conn != null){
try{
conn.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
if(st != null){
try{
st.close();
}
catch (SQLException e){
e.printStackTrace();
}
}
}
}
关于如何在Java中自定义封装一个JDBC工具类问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。