德鲁伊数据库连接池

为了提高数据库连接的效率,阿里巴巴提供了Druid数据库连接池组件

Druid是一个JDBC组件,它包括三部分:

1)DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。

2)DruidDataSource 高效可管理的数据库连接池。

3)SQLParser

下面代码是Druid的使用方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
@Test
public void testDruid() throws Exception{
//创建连接池对象
DruidDataSource dataSource = new DruidDataSource();
//设置数据用户名
dataSource.setUsername("root");
//设置数据库密码
dataSource.setPassword("abc123");
//设置数据库地址
dataSource.setUrl("jdbc:mysql:///test");
//加载数据库驱动
dataSource.setDriverClassName("com.mysql.jdbc.Driver");

dataSource.setInitialSize(5);
dataSource.setMaxActive(10);
dataSource.setMaxWait(5000);

for(int i = 0 ; i< 15 ; i++) {
Connection connection = dataSource.getConnection();
System.out.println(connection);
connection.close();//关闭连接
}

}

为了再次规范化操作,提高程序的可维护性,可以添加properties配置文件
创建名字为config的SourceFolder,把db.properties文件放到配置文件夹里,如下图。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Test
public void testDruidByFile() throws Exception {

//创建Properties对象
Properties pro = new Properties();
//加载配置文件
pro.load(PoolTest.class.getClassLoader().getResourceAsStream("db.properties"));
//获取数据源
DataSource dataSource = DruidDataSourceFactory.createDataSource(pro);
//获取连接
Connection connection = dataSource.getConnection();
System.out.println(connection);
}