配置参数
/*
jdbcUrl 连接数据库的url:mysql : jdbc:mysql://localhost:3306/druid2
username 数据库的用户名
password 数据库的密码
driverClassName 驱动类名。根据url自动识别,这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName(建议配置下)
initialSize 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时maxActive 最大连接池数量
maxIdle 已经不再使用,配置了也没效果
minIdle 最小连接池数量
maxWait 获取连接时最大等待时间,单位毫秒。
API
com.alibaba.druid.pool.DruidDataSourceFactory 类有创建连接池的方法
public static DataSource createDataSource(Properties properties)
创建一个连接池,连接池的参数使用properties中的数据
配置文件(文件名任意,位置建议src目录下)
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/javaee
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
maxIdle=6
minIdle=3
使用步骤
-
在src目录下创建一个properties文件,并设置对应参数
-
加载properties文件的内容到Properties对象中
-
创建DRUID连接池,使用配置文件中的参数
-
从DRUID连接池中取出连接
-
执行SQL语句
-
关闭资源
java代码
package DRUID;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;
/**
* @author: gaoXiZhe
* @date: 2018/9/5 16:59
*/
public class demo {
public static void main(String[] args) throws Exception {
InputStream resourceAsStream=demo.class.getClassLoader().getResourceAsStream("DRUID.properties");
Properties pp = new Properties();
pp.load(resourceAsStream);
//创建连接池,使用配置文件中的参数
DataSource ds = DruidDataSourceFactory.createDataSource(pp);
for (int i = 0; i < 11; i++) {
//从连接池中取出连接
Connection conn = ds.getConnection();
System.out.println(conn);
}
//最大连接数设置为10,此时获取十一个connection 第十一个等待三秒会报错!!!!!
}
}