版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hpuxiaofang/article/details/82286930
需要导入的jar包:https://pan.baidu.com/s/1ZshnBAq00isL29pLh3NpQg
配置文件代码:需要修改为自己所用的数据库,用户名,密码
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/school
username=root
password=root
# 初始化连接数量
initialSize=5
maxActive=10
maxWait=3000
工具类代码:
package Tool;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.IOException;
import java.sql.*;
import java.util.Properties;
/**
* Druid连接池的工具类
*
* 1. 定义一个类 JDBCUtils
* 2. 提供静态代码块加载配置文件,初始化连接池对象
* 3. 提供方法
* (1). 获取连接方法:通过数据库连接池获取连接
* (2). 释放资源
* (3). 获取连接池的方法
*/
public class JDBCUtils {
// 1.定义成员变量DataSource
private static DataSource ds;
static {
try {
// 2.加载配置文件
Properties pro = new Properties();
pro.load( JDBCUtils.class.getClassLoader().getResourceAsStream( "druid.properties" ) );
// 3.获取DataSource
ds= DruidDataSourceFactory.createDataSource( pro );
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 获取连接池方法
*/
public static DataSource getDataSource(){
return ds;
}
/**
* 获取连接
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
/**
* 释放资源
*/
public static void close(Statement stat, Connection conn){
close(null,stat,conn);
}
public static void close(ResultSet rs, Statement stat, Connection conn) {
if (rs != null) {
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat != null) {
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}