第十三次作业

一、数据库连接池
1.1 什么是数据库连接池

在使用jdbc编程时,每次访问数据库都需要创建连接对象,访问完毕后也需要断开连接(销毁对象)。
比如说:网站的每日用户访问量是10万次,这时候就需要对数据库访问10万次,需要10万次创建和断开连接对象,频繁的创建和断开连接,这使访问数据库的效率非常低。
数据库连接池技术:管理连接对象。

1.应用程序就不需要创建和断开连接对象,而是交给数据库连接池管理
2.数据库连接池断开,不是销毁对象,而是把连接对象归还给连接池。

数据库连接池基本参数:

1.初始化大小:数据库连接池里面初始的连接对象个数

2.最大连接数:数据库连接池里面最大的连接对象个数

3.最大等待时间:用户通过连接池取连接对象时,需要等待的时间
4.最大空闲连接:数据库连接池里面,在用户访问趋于稳定时,最大的空闲连接个数
5.最小空闲连接:在用户访问趋于顶峰时,数据库连接池里面剩余的最小连接对象个数。

优点:通过数据库连接池管理连接对象,减少了数据库连接对象的创建和销毁,提高咱们数据库的访问效率。

1.2 DataSource接口:

数据库连接池技术:由sun 公司制定数据库连接池规范(数据库连接池接口),让不同的数据库厂商来实现这-套规范,提供自己的数据库连接池具体的实现。
目前市面流行的数据库连接池技术: DBCP 和C3p0

1.3 DBCP数据源

DBCP数据库连接池(DataBase Connection Pool), 是由apache组织提供的数据库连接池技术,开源免费。

在项目中开发中,使用DBCP的基本步骤:

前提导入DBCP的jar包: commons - dbcp. jar , commons -pool.jar a

DBCP获取连接对象:设置连接参数。

四个连接参数:dr iverName,url, use rname, password.

DBCP获取连接对象具体的方式:

第一种:直接使用BasicDataSource类创建数据源对象,从而获取连接对象。
在使用BasicDataSource类创建一个数据源对象时, 需要手动给数据源对象设置属性值,然后获取数据库连接对象。下面通过一个案例来演示BasicDataSource 类的使用,具体步骤如下。
(1)在Eclipse 中创建一 个名称为chapter10 的Web项目,在项目chapter10 中导入mysql-connector-java-5.0.8-bin.jar、commons-dbcp-1.4.jar以及commons- pool- 1.6.jar 3个JAR包,并发布到类路径下,然后在项目的src目录下创建包cn.itcast.chapter10.example,并在该包下创建一个example01类,该类采用手动方式获取数据库的连接信息和数据源的初始化信息,如下图所示:
在这里插入图片描述
(2)运行main()方法后,运行结果如下:在这里插入图片描述
第二种:通过读取配置文件创建数据源对象,从而获取连接对象
(读取配置的好处:在不修改代码的情况,可以修改数据库的连接参数。)
除了使用BasicDataSource直接创建数据源对象外,还可以使用BasicDataSourceFactory工厂类读取配置文件,创建数据源对象,然后获取数据库连接对象。下面通过一个案例来演示,具体步骤如下。
(1)在chapter10项目的src目录下创建dbcpconfig.properties 文件,该文件用于设置数据库的连接信息和数据源的初始化信息。
(2)src目录下创建包cn.itcast.chapter10.example,并在该包下创建一个example02类,该类中采用了从配置文件中获取数据库的连接信息和数据源的初始化信息,具体如下:
在这里插入图片描述
1.4 C3PO数据源
C3PO是目前最流行的开源数据库连接池之一,它实现了DataSource 数据源接口,支持JDBC2和JDBC3的标准规范,易于扩展并且性能优越,著名的开源框架Hibernate和Spring都支持该数据源。在使用C3PO数据源开发时,需要了解C3PO中DataSource接口的实现类ComboPooledDataSource,它是C3P0的核心类,提供了数据源对象的相关方法 。

1.通过ComboPooledDataSource()构造方法创建数据源对象
使用ComboPooledDataSource()构造方法创建数据源对象,需要手动给数据源对象设置属性值,然后获取数据库连接对象,具体步骤如下。

( 1 )在项目chapter10中导入JAR包c3p0- -0.9.1.2.jar, 然后在cn.itcast.chapter 10.example包下创建一个example03类,该类采用C3P0数据源手动代码的方式获取Connection对象。
在这里插入图片描述
(2)运行main()方法后,程序的运行结果如图:在这里插入图片描述
2.通过读取配置文件创建数据源对象
使用ComboPooledDataSource ( String configName )构造方法读取c3p0-config.xml 配置文件,从而创建数据源对象,然后获取数据库连接对象。下面通过一个案例来演示读取配置文件创建数据源对象的使用,具体步骤如下。

( 1 )在src根目录下创建一个c3p0-config xml文件,用于设置数据库的连接信息和数据源的初始化信息。

  <?xml version="1.0" encoding=
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值