一、
1)数据库链接池
在JDBC编程中,每次创建和断开Connention对象都会消耗一定的时间和IO资源
数据库连接池

2)DBCP数据源
DBCP是数据库连接池(DataBase Connection Pool)的简称,是Apache组织下的开源连接池实现,也是Tomcat服务器使用的连接池组件。单独使用DBCP数据源时,需要在应用程序中导入两个JAR包,具体如下:
1 commons-dbcp.jar包
commons-dbcp.jar包是DBCP数据源的实现包,包含所有操作数据库连接信息和数据库连接池初始化信息的方法,并实现了DataSource接口的getConnection()方法。

2 commons-pool.jar包
commons-pool.jar包是DBCP数据库连接池实现包的依赖包,为commons-dbcp.jar包中的方法提供了支持。可以这么说,没有该依赖包,commons-dbcp.jar包中的很多方法就没有办法实现。

这两个JAR包可以在Apache官网地址“http://commons.apache.org/proper/”中查询下载到。其中,commons-dbcp.jar中包含两个核心的类,分别是BasicDataSourceFactory和BasicDataSource,它们都包含获取DBCP数据源对象的方法。

3.BasicDataSource类常用方法
void setDriverClassName(String driverClassName) 设置数据库的驱动名称
void setUrl(String url) 设置链接数据库路径
void setUesrname(String username) 设置数据库登录账号
void setPassword(String password) 设置数据库的登录密码
void setlnitialSize(int initialSize) 设置数据库连接池初始化的链接数目
void setMaxActive(int maxldle) 设置数据库连接池最大活跃的链接数目
void setMinldle(int minldle) 设置数据库连接池最小闲置的链接数目
Connection getConnenction() 从连接池中获取一个数据库链接

二、
1)在eclipse中创建名为chapter10的web项目,在chapter10中创Example01类以及结果

java 数据库连接池配置参数 数据库连接池jar包_java 数据库连接池配置参数

2)通过读取配置文件创建数据源对象

在chapter10项目src中目录下创建dbcpconfig.properties文件,该文件用于设置数据库的连接信息和数据源的初始化信息

java 数据库连接池配置参数 数据库连接池jar包_jar_02

 3)在chapter10.example包下创建一个Example02类,该类中采用了从配置文件中获取数据库的连接信息和数据源的初始化的方式

java 数据库连接池配置参数 数据库连接池jar包_apache_03

java 数据库连接池配置参数 数据库连接池jar包_java 数据库连接池配置参数_04

 

 

 三、
1)通过ComboPooledDataSource()构造方法创建数据源对象,在chapter10中导入c3p0-0.9.1.2.jar,然在创建Example03类

java 数据库连接池配置参数 数据库连接池jar包_数据库_05

 

java 数据库连接池配置参数 数据库连接池jar包_数据库_06

 三、
1)通过ComboPooledDataSource()构造方法创建数据源对象,在chapter10中导入c3p0-0.9.1.2.jar,然在创建Example03类

java 数据库连接池配置参数 数据库连接池jar包_jar_07

 3)在chapter10创建Example04类

java 数据库连接池配置参数 数据库连接池jar包_jar_08

 

java 数据库连接池配置参数 数据库连接池jar包_apache_09

 

四、
DBUtils工具
1)BeanHandler 和 BeanListHandler
BeanHandler和BeanListHandler实现类是将结果集中的数据封装到对应的JavaBean实例中,这也是实际开发中最常用的结果集处理方法。

java 数据库连接池配置参数 数据库连接池jar包_apache_10

 

 

3)向user表插入3条记录,语句如下:

java 数据库连接池配置参数 数据库连接池jar包_数据库_11

 

4)运行结果:

java 数据库连接池配置参数 数据库连接池jar包_数据源_12

 5)创建一个名为BaseDao的类,该类中编写了一个通用的查询方法

java 数据库连接池配置参数 数据库连接池jar包_数据源_13

 6)创建实体类User,使用该类来封装User对象(建议自己getset)

java 数据库连接池配置参数 数据库连接池jar包_apache_14

 

7)创建类ResultSetTest1,该类用于演示BeanHandler类对结果集的处理

java 数据库连接池配置参数 数据库连接池jar包_jar_15

 8)运行结果

java 数据库连接池配置参数 数据库连接池jar包_apache_16

 9)创建类ResultSetTest2,该类用于演示BeanListHandler类对结果集的处理

java 数据库连接池配置参数 数据库连接池jar包_jar_17

 10)运行结果

java 数据库连接池配置参数 数据库连接池jar包_jar_18

 

 

五、
1)ScalarHandler
在使用DBUtils工具操作数据库时,如果需要输出结果集中一行数据的指定字段值,可以使用ScalarHandler类。

2)创建类 ResultSetTest3,该类用于演,ScalarHandler类的使用方法

java 数据库连接池配置参数 数据库连接池jar包_数据库_19

 

 

 3)运行结果

java 数据库连接池配置参数 数据库连接池jar包_apache_20

 

六、
使用DBUtils实现增删改查

1)创建C3p0Utils类
创建一个名为pidan.jdbc.utils的包,然后在该包下创建C3p0Utils类,该类用于创建数据源

java 数据库连接池配置参数 数据库连接池jar包_apache_21

2)创建DBUtilsDao类
创建一个名为pidan.jdbc.demo的包,然后在该包下创建一个DBUtilsDao类,该类实现了对user表增删改查的基本操作

java 数据库连接池配置参数 数据库连接池jar包_jar_22

 

3)测试DBUtilsDao类中的增删改查操作,创建类DBUtilsDaoTest1对增加操作进行测试

java 数据库连接池配置参数 数据库连接池jar包_apache_23

 

 4)运行结果

java 数据库连接池配置参数 数据库连接池jar包_jar_24

 

5)创建测试类DBUtilsDaoTest2

java 数据库连接池配置参数 数据库连接池jar包_java 数据库连接池配置参数_25

 

6)运行结果

java 数据库连接池配置参数 数据库连接池jar包_java 数据库连接池配置参数_26

 

7)创建测试类DBUtilsDaoTest3

java 数据库连接池配置参数 数据库连接池jar包_数据源_27

 

8)运行结果

java 数据库连接池配置参数 数据库连接池jar包_java 数据库连接池配置参数_28

 

        从图中可以看出,控制台已经成功显示出了id为2的数据信息,这说明查询方法也成功执行了。至此,已经完成了使用DBUtils工具对数据库进行的基本操作。从代码上可以看出,DBUtils工具在减少代码量的同时,还增强了代码的规整性和易读性。