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;
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自定义封装工具类的文章就介绍到这了,更多相关Java JDBC自定义封装类内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springboot之redis cache TTL选项的使用
这篇文章主要介绍了springboot之redis cache TTL选项的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-07-07
SpringBoot 2.x 接入非标准SSE格式大模型流式响应的实战解决方案
本文介绍了在SpringBoot2.7.3环境中接入非标准SSE格式大模型流式响应的实战解决方案,通过自定义实现,解决了大模型返回数据格式不符合标准SSE规范的问题,关键步骤包括引入Gradle依赖、配置WebClient、处理粘包、格式兼容和双重过滤机制,感兴趣的朋友跟随小编一起看看吧2025-02-02
SpringBoot+Vue跨域配置(CORS)问题得解决过程
在使用 Spring Boot 和 Vue 开发前后端分离的项目时,跨域资源共享(CORS)问题是一个常见的挑战,接下来,我将分享我是如何一步步解决这个问题的,包括中间的一些试错过程,希望能够帮助到正在经历类似问题的你2024-08-08


最新评论