javaWeb代码整理03-druid数据库连接池

jar 包:

 

 maven 坐标:

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid</artifactId>
<version>1.0.9</version>
</dependency>

 

 

druid.proprties 文件:

 

 

driverClassName=com.mysql.cj.jdbc.Driver

url=jdbc:mysql://localhost:3306/guide

username=root

password=root

initialSize=5

maxActive=10

maxWait=3000

 

##?????????
filters=stat
timeBetweenEvictionRunsMillis=60000
minEvictableIdleTimeMillis=300000
validationQuery=SELECT 1
testWhileIdle=true
testOnBorrow=false
testOnReturn=false
poolPreparedStatements=false
maxPoolPreparedStatementPerConnectionSize=200

 

 

JDBCUtils 类:

 

 

package cn.open.guide.util;
/*
Druid 数据库连接池 JDBC 工具类
*/

import com.alibaba.druid.pool.DruidDataSourceFactory;

import javax.sql.DataSource;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

public class JDBCUtils {
private static DataSource ds;

static {

try {
//1. 加载配置文件
Properties pro = new Properties();
// 使用 ClassLoader 加载配置文件,获取字节输入流
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");
pro.load(is);

//2. 初始化连接池对象
ds = DruidDataSourceFactory.createDataSource(pro);

} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}

/**
* 获取连接池对象
*/
public static DataSource getDataSource() {
return ds;
}

/**
* 获取连接 Connection 对象
*/
public static Connection getConnection() throws SQLException {
return ds.getConnection();
}
}