1.数据库连接池
C3P0技术和Druid技术。
2.C3P0使用步骤
导入c3p0-0.9.5.2 jar和machang-commons-java-0.2.1.2 jar包;
定义配置文件,名称为c3p0.properties或者c3p0-config.xml
路径为src目录下;
创建核心对象,数据库连接池对象为CompooledDatasource
获取连接,使用getConnection()方法。
查看连接对象
public class c3p0Demo1 {
public static void main(String[] args) {
//1.创建数据库连接池对象
DataSource ds = new ComboPooledDataSource();
//2.获取连接对象
try {
Connection connection = ds.getConnection();
//3.打印结果,看看输出的连接对象是否是字符串形式
System.out.println(connection);
} catch (SQLException e) {
e.printStackTrace();
}
}
}
XML文件
<?xml version="1.0" encoding="UTF-8"?>
<c3p0-config>
<default-config>
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/bookmanager
</property>
<property name="user">root</property>
<property name="password">root</property>
<property name="checkoutTimeout">3000</property>
<property name="initialPoolSize">5</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">10</property>
<property name="minPoolSize">5</property>
<property name="maxStatements">200</property>
</default-config>
<named-config name="myc3p0">
<property name="driverClass">com.mysql.jdbc.Driver</property>
<property name="jdbcUrl">
jdbc:mysql://localhost:3306/bookmanager
</property>
<property name="user">root</property>
<property name="password">admin</property>
<property name="initialPoolSize">5</property>
<property name="maxPoolSize">15</property>
</named-config>
</c3p0-config>
3.Druid使用步骤
导入druid-1.0.9 jar;
定义配置文件,为properties形式,可放在任意目录下;
获取数据库连接池对象,通过工厂类DruidDataSourceFactory来获取
获取连接。
查看连接对象
public class druidDemo1 {
public static void main(String[] args) {
//1.导入jar包
//2.定义配置文件
try {
//3.加载配置文件
Properties properties = new Properties();
InputStream resourceAsStream = druidDemo1.class.getClassLoader().getResourceAsStream("druid.properties");
properties.load(resourceAsStream);
//4.获取数据库连接池对象
DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
//5.获取连接
Connection connection = dataSource.getConnection();
System.out.println(connection);
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///bookmanager
username=root
password=root
#初始化连接数量
initialSize=5
#最大连接数
maxActive=10
#最大等待时间
maxWait=3000