java之Druid连接池介绍和使用方法 简单易懂

2023-12-22 11:49:20

一、什么是数据库连接池?

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

二、 为什么选择Druid连接池?

Druid是一个开源的、高性能的数据库连接池,它在很多方面超越了其他连接池。

三、连接池的jar包

根据自己下载的软件版本进行下载jar包版本
https://repo1.maven.org/maven2/com/alibaba/druid/

四、连接池的使用

1、配置及使用配置文件连接mysql数据库

配置文件 properties

代码如下:

# 加载驱动
driverClassName = com.mysql.cj.jdbc.Driver
# url
url = jdbc:mysql://127.0.0.1:3306/studentdb
# 用户名
username = root
# 密码
password = sasa
# 初始连接数
initialSize = 10
# 最小连接
minIdle = 5
# 最大连接
maxActive = 50
# 超时时间
maxWait = 5000

使用代码如下:

public void druidshow1() throws Exception {
        //加载配置文件
        Properties properties = new Properties();
        properties.load(new FileInputStream("src\\druid.properties"));
        //在工厂中创建一个数据源,数据源的连接信息来源于配置文件中
        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);
        Connection conn = dataSource.getConnection();
        ResultSet r = conn.prepareStatement("select count(*) from student").executeQuery();
        if (r.next()){
            System.out.println(r.getInt(1));
        }
        r.close();
        conn.close();
    }

运行结果:
在这里插入图片描述

2、使用Map集合使用Druid

代码如下:

public void druidshow1() throws Exception {
        //集合方法
        HashMap map = new HashMap();
        map.put("driverClassName","com.mysql.cj.jdbc.Driver");
        map.put("url","jdbc:mysql://127.0.0.1:3306/studentdb");
        map.put("username","root");
        map.put("password","sasa");
        //在工厂中创建一个数据源,数据源的连接信息来源于配置文件中
        DataSource dataSource = DruidDataSourceFactory.createDataSource(map);
        Connection conn = dataSource.getConnection();
        ResultSet r = conn.prepareStatement("select count(*) from student").executeQuery();
        if (r.next()){
            System.out.println(r.getInt(1));
        }
        r.close();
        conn.close();
    }

运行结果:
在这里插入图片描述

五、总结

以下是一些选择Druid的原因:

1、监控和统计:Druid提供了丰富的监控和统计功能,您可以了解连接池的使用情况、SQL执行情况等。这有助于识别性能问题和优化SQL查询。

2、防SQL注入:Druid内置了防SQL注入的功能,可以有效地防止潜在的安全风险。

3、高性能:Druid经过精心优化,具有出色的性能。它支持连接池预热,可以在应用程序启动时提前创建一些连接,以减少第一个请求的延迟。

4、丰富的配置选项:Druid允许您通过配置文件或编程方式进行高度自定义,以满足各种需求。

文章来源:https://blog.csdn.net/weixin_72473547/article/details/135145140
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。