数据库连接池
一. Druid
JDBC 的数据库连接池使用 javax.sql.DataSource 来表示,DataSource 只是一个接口,该接口通常由服务器(Weblogic, WebSphere, Tomcat)提供实现,也有一些开源组织提供实现。
Druid(德鲁伊)是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、Proxool等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,据说是目前最好的连接池。
1.Druid连接池的使用
步骤:
- 1.加载Druid配置文件
- 2.获取 DataSource数据源:DruidDataSourceFactory.createDataSource(properties)
- 3.获取数据库连接 Connection:datasource.getConnection();
- 4.执行增删改查
- 5.释放资源
对比,普通JDBC获取连接的步骤:
- 1.加载并注册驱动:Class.forName(“com.mysql.jdbc.Driver”);
- 2.获取连接资源:DriverManager.getConnection(url, properties);
- 3.进行增删改查:statement.executeQuery()/executeUpdate(); PrepareStatement…
- 4.释放资源:resultSet.close();/statement.close();/connection.close;
案例:
package com.mytest.druid;
import java.sql.Connection;
import java.util.Properties;
import javax.sql.DataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
public class TestDruid {
public static void main(String[] args) throws Exception {
Properties pro = new Properties();
//1.加载Druid配置文件
pro.load(TestDruid.class.getClassLoader().getResourceAsStream("druid.properties"));
//2.获取 DataSource
DataSource ds = DruidDataSourceFactory.createDataSource(pro);
//3.获取数据库连接
Connection conn = ds.getConnection();
System.out.println(conn);
//4.释放资源
conn.close();
}
}