JavaWeb

本文详细介绍了JavaWeb中数据库连接池DBCP的使用,包括如何创建数据源对象,以及依赖的JAR包。同时,文章还探讨了DBUtils工具,讲解了BeanHandler、BeanListHandler和ScalarHandler的使用,以及如何利用DBUtils实现增删改查操作,展示了其简化代码和提升效率的优势。
摘要由CSDN通过智能技术生成

JavaWeb 数据库连接池与DBUtils工具

数据库连接池
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数据源对象的方法。

1.在chapter13.example下创建一个Example01类:
代码如下:

package chapter13.example;                                                                                                                                                                                                     
                                                                                                                                                                                                                               
import java.awt.image.DataBufferShort;                                                                                                                                                                                         
import java.sql.SQLException;                                                                                                                                                                                                  
                                                                                                                                                                                                                               
import javax.sql.DataSource;                                                                                                                                                                                                   
                                                                                                                                                                                                                               
import org.apache.commons.dbcp.BasicDataSource;                                                                                                                                                                                
                                                                                                                                                                                                                               
import java.sql.DatabaseMetaData;                                                                                                                                                                                              
import java.sql.Connection;                                                                                                                                                                                                    
                                                                                                                                                                                                                               
public class example01 {
                                                                                                                                                                                                          
	public static DataSource ds = null;                                                                                                                                                                                        
	static {
                                                                                                                                                                                                                      
		BasicDataSource bds = new BasicDataSource();                                                                                                                                                                           
		bds.setDriverClassName("com.mysql.cj.jdbc.Driver");                                                                                                                                                                    
		bds.setUrl( "jdbc:mysql://localhost:3306/jdbc?serverTimezone=UTC");                                                                                                                                                    
		bds.setUsername("root");                                                                                                                                                                                               
		bds.setPassword("123456");                                                                                                                                                                                             
		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()+"UserName="+metaData.getUserName()+","+metaData.getDriverName());                                                                                                                 
	}                                                                                                                                                                                                                          
}                                                                                                                                                                                                                              

运行结果如下:
在这里插入图片描述
通过读取配置文件创建数据源对象

除了使用BasicDataSource 直接创建数据源对象外,还可以使用BasicDataSourceFactory工厂类读取配置文件,创建数据源对象,然后获取数据库连接对象。

在src目录下创建dbcpconfig.properties文件,该文件用于设置数据库的连接信息和数据源的初始化信息;
在这里插入图片描述
创建一个Example02类,该类中采用了从配置文件中获取数据库的连接信息和数据源的初始化信息的方式;

package chapter13.example;
 
import java.io.InputStream;
import java.sql.SQLException;
import java.util.Properties;
 
import javax.sql.DataSource;
 
import org.apache.commons.dbcp.BasicDataSourceFactory;
 
import java.sql.DatabaseMetaData;
 
import java.sql.Connection;
 
 
 
public class example02 {
   
	public static DataSource ds = null;
	static {
   
		Properties prop = new Properties();
		try {
   
			InputSt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值