Druid连接池-JDBC工具类封装
1、导入相关的jar包和配置文件
注:本文仅提供作者自己查阅使用
导入Druid的jar包和mysql的驱动包
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-o2FsJZS8-1632387606715)(%E5%8D%9A%E5%AE%A2.assets/image-20210923165510939.png)]](https://images2.imgbox.com/b3/b7/AoqPXc4R_o.png)
注意:这里有些 配置文件的key不能随便取,随便取的 key 有时候会出现连不上数据库的情况或者是空指针异常
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/dbproduct
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
maxIdle=8
minIdle=3
2、项目文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qDYLsV8O-1632387564964)(%E5%8D%9A%E5%AE%A2.assets/image-20210923165644773.png)]](https://images2.imgbox.com/a6/f4/2II2TdV5_o.png)
3、代码
JDBCUtils
package com.druid.utils;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.mysql.jdbc.PreparedStatement;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;
//Druid连接池工具类
public class JDBCUtils {
private static Properties properties = new Properties();
private static DataSource dataSource;
static {
try {
//加载配置文件
InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream("druid.properties");
//加载到内存中
properties.load(is);
//获取配置文件
dataSource = DruidDataSourceFactory.createDataSource(properties);
} catch (Exception e) {
e.printStackTrace();
}
}
//获取连接
public static Connection getConnection() throws SQLException {
return dataSource.getConnection();
}
//获取数据源
public static DataSource getDataSource(){
return dataSource;
}
//释放资源
public static void close(ResultSet rs, PreparedStatement 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();
}
}
}
}
Demo
package com.druid.demtest;
import com.druid.utils.JDBCUtils;
import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.SQLException;
public class Demo {
public static void main(String[] args) throws SQLException {
//测试连接
Connection connection = JDBCUtils.getConnection();
System.out.println(connection);
//测试数据源
DataSource dataSource = JDBCUtils.getDataSource();
System.out.println(dataSource);
}
}