数据库连接池与DBUtils工具

本文介绍了数据库连接池的概念,旨在避免频繁创建数据库连接。重点讲解了Apache的DBCP数据源,包括commons-dbcp.jar和commons-pool.jar的使用。示例代码展示了如何通过BasicDataSource类直接创建数据源,以及如何从配置文件中读取信息创建数据源,最后总结了两种创建数据源对象的方法。
摘要由CSDN通过智能技术生成

一.了解什么是数据库连接池

避免频繁地创建数据库连接,数据库连接池技术应运而生。数据库连接池负责分配、管理和释放数据库连接,允许应用程序重复使用现有的数据库连接。

二.DBCP数据源

commons-dbcp.jar包:实现包,包含所有操作数据库连接信息和数据库连接池初始化信息的方法,并实现了DataSource接口的getConnection()方法
commons-pool.jar包:依赖包,为commons-dbcp.jar包中的方法提供了支持

三.通过BasicDataSource类直接创建数据源对象

package test;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;

public class test1 {
public static DataSource ds=null;
static {
BasicDataSource bds =new BasicDataSource();
bds.setDriverClassName(“com.mysql.jdbc.Driver”);
bds.setUrl(“jdbc:mysql://localhost:3306/jdbc”);
bds.setUsername(“root”);
bds.setPassword(“itcast”);
bds.setInitialSize(5);
bds.setMaxActive(5);
ds=bds;
}
public static void main(String[] args) throws SQLException {
Connection conn=ds.getConnection();
DatabaseMetaData metaData =conn.getMetaData();
System.out.println(metaData.getURL());

}

}
(手动获取数据库的连接信息和数据源的初始化信息,设置了连接池需要的配置信息,最后打印输出路径)

四.通过读取配置文件创建数据源对象

在src文件下面创建一个dbcpconfig.properties文件用于设置数据库的连接信息和数据源的初始化信息,代码如下:
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/jdbc
uername=java
password=123456
initialSize=5
maxActive=10
maxIdle=10

然后在src下面的包创建一个test02类,该类从配置文件中获取数据库的连接信息和数据源的初始化信息的方式
package test;

import java.io.InputStream;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;

public class test2 {
public static DataSource ds=null;
static {
Properties prop=new Properties();
try {
InputStream in=new test2().getClass().getClassLoader().getResourceAsStream(“dbcpconfig.properties”);
prop.load(in);
ds=BasicDataSourceFactory.createDataSource(prop);

	} catch (Exception e) {
		throw new ExceptionInInitializerError(e);
	}
}
public static void main(String[] args) throws SQLException {
	Connection conn=ds.getConnection();
	DatabaseMetaData metaData =conn.getMetaData();
	System.out.println(metaData.getURL());
	
}

}

五.总结

一个是直接创建数据源对象,另一个是通过读取配置文件来创建数据源对象,然后获取数据库连接对象。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值