易采站长站为您分析如何使用JDBC实现工具类抽取,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1、JDBC工具类抽取
上一篇做了JDBC的基本操作,但是获取连接及释放资源是比较重复的操作,可以抽取工具类而达到代码重用的目的
工程结构如图
JDBC工具类代码
db.properties
driver=com.mysql.jdbc.Driver url=jdbc:mysql://192.168.47.151:3306/web?useUnicode=true&characterEncoding=utf8 username=root password=root
JDBCUtils.java
package com.rookie.bigdata.util;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
import java.util.ResourceBundle;
/**
* Created by dell on 2019/5/22.
*/
package com.rookie.bigdata.util;
import java.io.InputStream;
import java.sql.*;
import java.util.Properties;
import java.util.ResourceBundle;
/**
* Created by dell on 2019/5/22.
*/
public class JDBCUtils {
private static String driver;
private static String url;
private static String username;
private static String password;
// //静态代码块加载配置文件信息
// static {
// ResourceBundle db = ResourceBundle.getBundle("db");
// driver = db.getString("driver");
// url = db.getString("url");
// username = db.getString("username");
// password = db.getString("password");
// }
//静态代码块加载配置文件信息
static {
try {
//获取类加载器
ClassLoader classLoader = JDBCUtils.class.getClassLoader();
//通过类加载器的方法获取一个输入流
InputStream resourceAsStream = classLoader.getResourceAsStream("db.properties");
Properties properties = new Properties();
properties.load(resourceAsStream);
//获取相关参数的值
driver = properties.getProperty("driver");
url = properties.getProperty("url");
username = properties.getProperty("username");
password = properties.getProperty("password");
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取连接
*
* @return
*/
public static Connection getConnection() {
Connection conn = null;
try {
Class.forName(driver);
conn = DriverManager.getConnection(url, username, password);
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 释放资源
* @param conn
* @param pstmt
* @param rs
*/
public static void relase(Connection conn, PreparedStatement pstmt, ResultSet rs) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (pstmt != null) {
try {
pstmt.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}










