本次封装类分为两大块:
db.properties(配置文件),JDBCUtil类(初始化,连接,关闭)。
db.properties配置文件
driver = com.mysql.cj.jdbc.Driver
url = jdbc:mysql://localhost:3306/jdbc?serverTimezone=Hongkong&characterEncoding=utf-8&useSSL=false
user = root
pwd = root
JDBCUtil类
package com.duoceshi.test;
import java.io.FileInputStream;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
/**
* 工具类,封装类
*/
public class JDBCUtil {
static Properties pors = null; //可以帮助读取和处理资源文件中的信息
//静态代码只会在类被加载的时候执行一次
static{ //加载JDBCUtil类的时候调用
pors = new Properties();
//通过输入流把它读进来
try{
pors.load(new FileInputStream("resources\\db.properties"));
}catch(IOException e){
e.printStackTrace();
}
}
/**
* 返回连接对象,获取mysql的Connection
* @return
*/
public static Connection getMysqlConn(){
try {
//加载驱动类
Class.forName(pors.getProperty("driver"));
//建立连接
return DriverManager.getConnection(pors.getProperty("url"),pors.getProperty("user"),pors.getProperty("pwd"));
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
/**
* 关闭,重载方法
* @param rs
* @param ps
* @param conn
*/
public static void close(ResultSet rs, Statement ps, Connection conn){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(ps != null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Statement ps,Connection conn){
if(ps != null){
try {
ps.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void close(Connection conn){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}