DRUID | C3P0 | ||
jar | druid-1.0.9.jar | c3p0-0.9.5.2.jar mchange-commons-java-0.2.12.jar | |
创建方式 | DataSource ds = DruidDataSourceFactory.createDataSource(配置文件对象); | 1.ComboPooledDataSource ds = new ComboPooledDataSource(); 2.ComboPooledDataSource ds = new ComboPooledDataSource("配置名"); | |
配置文件 | druid.properties | c3p0-config.xml | |
JDBC参数 | 用户名 | username | user |
密码 | password | password | |
驱动类名 | driverClassName | driverClass | |
Url路径 | jdbcUrl | jdbcUrl | |
连接池配置参数 | 初始连接数 | initialSize | initialPoolSize 默认 :3 |
最大连接数 | maxActive | maxPoolSize 默认 :15 | |
最大等待时间 | maxWait | checkoutTimeout | |
最大空闲回收时间 | maxIdle(不再使用,无效) | maxIdleTime 默认 :0(永远不会断开连接) |
c3p0-config.xml
<c3p0‐config>
<!‐‐ 使用默认的配置读取连接池对象 ‐‐>
<default‐config>
<!‐‐ 连接参数 ‐‐>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/user</property>
<property name="user">root</property>
<property name="password">root</property>
<!‐‐ 连接池参数 ‐‐>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">10</property>
<property name="checkoutTimeout">2000</property>
<property name="maxIdleTime">1000</property>
</default‐config>
<named‐config name="c3p0">
<!‐‐ 连接参数 ‐‐>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">jdbc:mysql://localhost:3306/emp</property>
<property name="user">root</property>
<property name="password">root</property>
<!‐‐ 连接池参数 ‐‐>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">15</property>
<property name="checkoutTimeout">2000</property>
<property name="maxIdleTime">1000</property>
</named‐config>
</c3p0‐config>
druid.properties
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/emp
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
maxIdle=6
minIdle=3
druid例
public class Demo {
public static void main(String[] args) throws Exception {
// 加载配置文件中的配置参数
InputStream is = Demo.class.getResourceAsStream("/druid.properties");
Properties pp = new Properties();
pp.load(is);
// 创建连接池,使用配置文件中的参数
DataSource ds = DruidDataSourceFactory.createDataSource(pp);
// 从连接池中取出连接
Connection conn = ds.getConnection();
// 使用jdbc执行SQL语句 省略
conn.close(); // 将连接还回连接池中
}
}