Druid(德鲁伊)数据库连接池

Druid(德鲁伊)数据库连接池

​ Druid 是阿里巴巴开源平台上的一个数据库连接池实现,它结合了C3P0、DBCP、Proxool 等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,可以说是目前最好的连接池之一

1.Druid数据库连接池实现

​ src目录下创建配置文件

driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql:///test
username=root
password=root

initialSize=10
maxActive=20

​ DruidTest.java

package com.sammery.connection;

import java.io.InputStream;
import java.sql.Connection;
import java.util.Properties;

import javax.sql.DataSource;

import org.junit.Test;

import com.alibaba.druid.pool.DruidDataSourceFactory;

public class DruidTest {
	
	@Test
	public void getConnection() throws Exception{
		
		Properties pros = new Properties();
		InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
		pros.load(is);
		DataSource source = DruidDataSourceFactory.createDataSource(pros);
		
		Connection conn = source.getConnection();
		System.out.println(conn);
	}

}

2. JDBCUtils中使用Druid数据库连接技术获取连接
package com.sammery.util;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;

import javax.sql.DataSource;

import org.apache.commons.dbcp.BasicDataSourceFactory;

import com.alibaba.druid.pool.DruidDataSourceFactory;
import com.mchange.v2.c3p0.ComboPooledDataSource;

public class JDBCUtils {
	
	/*
	 * 使用DBCP数据库连接池技术获取数据库连接*/
	private static DataSource source;
	
	static {
		try {
			Properties pros = new Properties();
			InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
			pros.load(is);
			source = DruidDataSourceFactory.createDataSource(pros);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	
	public static Connection getConnection() throws SQLException{
		return source.getConnection(); 
	}
	
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
数据库连接池是一种用于管理数据库连接的技术,它通过预先创建一定数量的数据库连接并保存在连接池中,当应用程序需要与数据库进行交互时,直接从连接池中获取连接,而不需要每次都创建和销毁连接,从而减少了连接的创建和销毁开销,提高了系统的响应速度和性能。 Druid德鲁伊)连接池是一个开源的Java数据库连接池,与传统的连接池相比具有更高的性能和更丰富的功能。使用Druid连接池可以帮助开发人员更好地管理数据库连接,提高系统的并发能力和稳定性。 在使用Druid连接池时,首先需要在应用的配置文件中配置Druid连接池的参数,包括数据库的连接URL、用户名和密码等信息。然后,在应用程序中引入Druid连接池的相关类库和配置文件。 接下来,通过Druid提供的DataSource类来获取数据库连接。DataSource是连接池的核心类,它可以根据配置参数创建数据库连接,并提供对连接的获取、释放和管理等功能。 在实际使用中,通过调用DataSource的getConnection方法可以获得一个数据库连接对象,然后可以使用该连接对象执行SQL语句,并获取查询结果。在使用完连接后,需要调用Connection的close方法将连接返回给连接池,以便其他请求可以继续使用。 Druid连接池还提供了一些高级功能,如连接池的监控和统计、连接泄漏检测等。可以通过配置监控统计的参数,实时查看连接池的使用情况和性能指标,从而及时发现和解决连接池相关的问题。 综上所述,Druid连接池是一个强大、高效的开源数据库连接池,能够有效地管理和复用数据库连接,提高系统的性能和稳定性,是开发中常用的工具之一。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值