数据库连接池练习

来源:互联网 发布:美颜软件反杀软件primo 编辑:程序博客网 时间:2024/05/16 14:46

微笑dbcp简介

1.Apache下的框架:commons-dbcp-1.4。
2.本项目只是基本的入门,使用BasicDataSource类和BasicDataSourceFactory类。
BasicSource包实现了java的接口,源代码值得一看。
3.BasicDataSource简介
public class BasicDataSource
extends Object
implements DataSource
Basic implementation of javax.sql.DataSource that is configured via JavaBeans properties. This is not the only way to combine the commons-dbcp and commons-pool packages, but provides a "one stop shopping" solution for basic requirements.
实现了javax.sql.DataSource接口,主要包含一些连接池变量及其getter、setter方法。驱动器driverClassName、服务器url、用户名username、密码password、初始化连接数initialSize、最大空闲数maxIdle、最小空闲数minIdle、最大连接数maxActive、最大等待时间maxWait(单位:毫秒)

4.BasicDataSourceFactory简介
public class BasicDataSourceFactory
extends Object
implements ObjectFactory
JNDI object factory that creates an instance of BasicDataSource that has been configured based on the RefAddr values of the specified Reference, which must match the names and data types of the BasicDataSource bean properties.

微笑dbcp练习步骤

一)导入需要的jar包
应用包:commons-dbcp-1.4.jar
依赖包:commons-pool-1.5.jar
二)使用BasicDataSource获取连接
1.新建BasicDataSource类的对象
2.设置连接数据库变量值
3.设置数据库连接池变量值
4.测试
     使用BasicSource类的getConnection()方法。
for(int i=0;i<=10;i++){
Connection conn=bs.getConnection();
System.out.println("conn "+conn); }
三)使用BasicDataSourceFactory-类中传参
     1.新建Properties类的对象props
   2设置props的属性
Properties props=new Properties();
props.setProperty("username", "root");
props.setProperty("password", "root");
...
     4.新建BasicDataSourceFactory类对象,传入props变量。
     5.测试

四)使用BasicDataSourceFactory-属性文件传参
     1.新建Properties类的对象props
     2.获取输入流InputStream(不理解为什么)
InputStream inputStream=
TestDBCP3.class.getClassLoader().getResourceAsStream("cn/itcast/dbcp/jdbc.properties");
  3.加载输入流
  props.load(inputStream);
     4.配置属性文件
     5.新建BasicDataSourceFactory类对象,传入props变量。
     6.测试

微笑c3p0练习步骤

1. 引入jar包

2. 利用ComboPooledDataSource类的set方法
3. 利用ComboPooledDataSource类的xml文件
如果构造方法没有参数
默认情况下加载c3p0-config.xml文件中的default-config配置的信息
c3p0-config.xml文件要求
文件的名称固定写法
该文件要放置到src目录,也就是防止到classes目录下[类路径下]

如果构造方法没有参数
默认情况下加载c3p0-config.xml文件中的default-config配置的信息
如果构造方法有参数,则参数的值是c3p0-config.xml文件中
<named-config name="intergalactoApp"> 中name属性的值