JDBC数据库连接池的使用
一、基本概念和使用步骤
1.1、基本概念
概念:数据库连接池是一个存放数据库连接的容器,当系统初始化好后,容器被创建,容器中存储着一些数据库连接对象,当用户访问数据库
时,会从容器中获取一个数据库连接对象,当用户访问完后,释放连接,数据库连接对象会归还到容器中,而不是清除这个连接对象。
优点:节约资源,用户访问高效
JDBC依赖jar包:链接:https://pan.baidu.com/s/15E_faXtcKH7qW8pQhxGj8g 提取码:3hnb
1.2、使用步骤
导入jar包步骤:
将jar包放在项目下一个文件夹中,然后右键–>Add as Library
1、导入mysql的jar包
本文使用的mysql的jar为mysql-connector-java-5.1.37-bin.jar
2、导入数据库连接池jar包
如果使用的是C3P0数据库连接池,需要导入c3p0-0.9.5.2.jar和mchange-commons-java-0.2.12.jar
如果是使用druid数据库连接池,需要导入druid-1.0.9,jar
3、定义配置文件
如果使用C3P0数据库连接池,配置文件为c3p0-config.xml,注意该文件必须放在src文件夹下,并且只能使用该名称。
如果使用druid数据库连接池,配置文件为druid.properties,注意该文件可以使用任意名称和存放在任意位置,
但是一般存放在src文件夹下,并且使用druid命名。
4、创建数据库连接池对象
如果使用C3P0数据库连接池,则创建语句为:
DataSource DataSource对象名 = new ComboPooledDataSource();
如果使用druid数据库连接池,则创建语句为:
// 创建Properties对象
Properties Properties对象名 = new Properties();
// 创建druid配置文件的字节输入流对象
InputStream InputStream对象名 = 当前类名.class.getClassLoader().getResourceAsStream(druid配置文件路径);
// 导入配置文件
Properties对象名.load(InputStream对象名);
// 创建数据库连接池对象
DataSource DataSource对象名 = DruidDataSourceFactory.createDataSource(Properties对象名);
5、创建数据库连接对象
创建数据库连接对象语句:
// 创建数据库连接对象
Connection Connection对象名 = DataSource对象名.getConnection();
6、创建字符串类型的sql语句
7、创建Statement对象或者PreparedStatement对象
创建Statement对象语句:
// 创建Statement对象
Statement Statement对象名 = Connection对象名.createStatement();
创建PreparedStatement对象语句
// 创建PreparedStatement对象
PreparedStream PreparedStatement对象名 = Connection对象名.preparedStatement(sql语句)
8、执行sql语句
如果是Statement对象,则执行方法为:
// 执行增、删、改操作
Statement对象名.executeUpdate(sql语句);
// 执行查询操作
ResultSet ResultSet对象名 = Statement对象名.executeQuery(sql语句);
如果是PreparedStatement对象,则执行方法为:
// 调用setXxx方法将指定占位符(即?)处的内容补齐
PreparedStatement对象名.setXxx(int 占位符位置, Xxx 填充数据)
// 执行增、删、改操作
PreparedStatement对象名.executeUpdate();
// 执行查询操作
ResultSet ResultSet对象名 = PreparedStatement对象名.executeQuery();
9、执行释放资源操作
根据实际情况调用ResultSet对象、Statement、PreparedStatement对象、Connection对象的close方法释放资源。
二、C3P0数据库连接池
2.1、概念
C3P0数据库连接池是一种数据库连接池技术,里面包含大量对于数据库连接池的操作。
2.2、使用步骤
2.2.1、导入mysql的jar包
本文使用的mysql的jar为mysql-connector-java-5.1.37-bin.jar
2.2.2、导入C3P0的jar包
本文导入的是c3p0-0.9.5.2.jar和mchange-commons-java-0.2.12.jar
2.2.3、创建C3P0的配置文件
C3P0的配置文件必须以c3p0.properties 或者 c3p0-config.xml命名,并且需要放在src目录下,否则会报错。
C3P0配置文件内容,以xml文件为例:
<c3p0-config>
<!-- 使用默认的配置读取连接池对象 -->
<default-config>
<!-- 连接参数 -->
<!-- 驱动 -->
<property name="driverClass">com.mysql.jdbc.Driver</property>
<!-- 数据库连接url(根据自己实际情况进行配置) -->
<property name="jdbcUrl">jdbc:mysql://localhost:3306/db3</property>
<!-- 数据库登录用户名(根据自己实际情况填写) -->
<pro