数据库连接池
使用数据库连接池的原因:
数据库连接是一种关键的有限的昂贵的资源,对数据库连接的管理能显著的影响整个应用程序的性能,所以就需要数据库连接池来管理数库连接。
我们常见的数据库连接池:
C3p0、DBCP、 Tomcat Jdbc Pool、 Druid
数据库连接池的原理:
数据库连接池的基本思想是在系统初始化的时候,将数据库连接作为对象储存在数据库连接池中,当用户需要访问数据库时,不需要建立一个新的连接,而是从连接池中取出一个已经建立的空闲连接,使用完毕后,用户也不需要讲连接关闭,而是将连接放回连接池中,以供下一个请求访问使用,而连接的建立,断开都由连接池自身来管理。
这里主要讲一下C3p0连接池的使用方法:
1.导入已有的C3p0 jar包
2.在自己的项目下的src目录下新建一个名为c3p0-config.xml的配置文件,并配置连接池的相关信息
3.在代码中使用ComboPooledDataSource对象的getConnection()方法获取数据库连接对象
这是一个配置好的c3p0-config.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/mydb?characterEncoding=utf8</property>
<property name="user">root</property>
<property name="password">123456</property>
<property name="initialPoolSize">10</property>
<property name="maxIdleTime">30</property>
<property name="maxPoolSize">100</property>
<property name="minPoolSize">10</property>
<!-- c3p0全局的PreparedStatements缓存的SQL大小 -->
<property name="maxStatements">200</property>
</default-config>
</c3p0-config>