yhm050305

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

德鲁伊连接池(Druid)介绍

1. 什么是数据库连接池?

数据库连接池是一个存储数据库连接的缓冲区,用于重复使用这些连接,以避免在每次请求时都创建新的数据库连接。连接到数据库的过程是相对耗时的,因此连接池可以显著提高应用程序的性能。它们还有助于防止应用程序超负荷地创建太多数据库连接,从而减轻数据库服务器的负担。

2. 为什么选择Druid连接池?

Druid是一个开源的、高性能的数据库连接池,它在很多方面超越了其他连接池。以下是一些选择Druid的原因:

  • 监控和统计:Druid提供了丰富的监控和统计功能,您可以了解连接池的使用情况、SQL执行情况等。这有助于识别性能问题和优化SQL查询。
  • 防SQL注入:Druid内置了防SQL注入的功能,可以有效地防止潜在的安全风险。
  • 高性能:Druid经过精心优化,具有出色的性能。它支持连接池预热,可以在应用程序启动时提前创建一些连接,以减少第一个请求的延迟。
  • 丰富的配置选项:Druid允许您通过配置文件或编程方式进行高度自定义,以满足各种需求。

Druid数据库连接池(德鲁伊连接池),由阿里提供,集DBCP,Proxool,C3P0连接池的优点于一身,是日常项目开发中使用频率最高的数据库连接池。

Druid jar包下载

一、Druid官网下载路径如下:

Central Repository: com/alibaba/druid/1.2.20 (maven.org)

进入官网之后下载如下压缩包:

二、下载好 druid 的jar包

三、将下载好的Druid jar包导入到idea项目里面去

根据个人需要将 druid-1.2.20.jar jar包文件复制到项目的 lib 路径下。

将lib文件夹 “添加为库” 或 将添加的jar包 “添加为库”(必要操作)

Druid 配置及使用(这里以MySql数据库演示)

一、Druid 配置及使用(使用配置文件连接数据库)

创建properties配置文件

我用的是配置 文件名.properties 文件的方式,文件名随意。在项目的 src 目录下新建就行。:

配置文件内容:

# 驱动程序(加载MySql)
driverClassName = com.mysql.cj.jdbc.Driver
# MySql数据库,自己创建的数据路径
url = jdbc:mysql://localhost:3306/1130schooldb?useSSL=false
# 用户名
username = root
# 密码
password = sasa
# 初始化时建立物理连接的个数
initialSize = 10
# 连接池能维持的最小连接数
minIdle = 5
# 连接池能维持的最大连接数
maxActive = 100
# 获取连接时最大等待时间,单位毫秒:10000ms
maxWait = 10000

创建java文件连接数据库

public static void main(String[] args) throws Exception {
    //加载配置文件
    Properties properties = new Properties();
    properties.load(new FileInputStream("src\\1130schooldb.properties"));
    //创建一个指定参数的数据库连接池
    DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
    //获取获取连接
    Connection conn = dataSource.getConnection();
    //判断是否连接成功
    if (conn!= null){
        System.out.println("数据库连接成功");
    }else {
        System.out.println("数据库连接失败");
    }
	//释放资源
    conn.close();

}

运行连接结果:

总结

Druid是一个功能强大且高性能的JDBC数据库连接池,它提供了丰富的功能和配置选项。通过使用Druid连接池,您可以更有效地管理数据库连接,提高应用程序性能,并且可以监控数据库连接的使用情况。在实际应用程序中,根据您的需求配置Druid连接池,并确保在使用完数据库连接后正确关闭它们,以避免资源泄漏。

posted on 2023-12-11 09:15  べ微熏の斜陽べ  阅读(29)  评论(0编辑  收藏  举报