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

为什么要使用数据库连接池?

有哪些数据库连接池?

在这里插入图片描述

怎么使用德鲁伊?

(第三方jar)

 不过现在流行maven,不建议使用古老方式。

(properties文件)

xx.properties文件是用于收集数据库信息如:驱动地址、数据库 连接地址、数据库账号、数据库密码等等一些配置信息。

!注意 xx.properties文件是在src目录下。

driver = com.mysql.jdbc.Driver
url = jdbc:mysql:///db_music
acc = root
pass = root

DruidDataSource

         DruidDataSource 是阿里写出来的一个数据源, 它不仅可以获取数据库连接,还把这些数据库连接管理了起来,也就是所谓的数据库连接池。这样的话,当通过该数据源获取数据库连接的时候,如果数据库连接池里有可以使用的连接,那么就直接返回该连接,就省的每次获取数据库连接都要创建了。

ResourceBundle

        这个类主要用来解决国际化和本地化问题。国际化和本地化可不是两个概念,两者都是一起出现的。可以说,国际化的目的就是为了实现本地化。比如对于“取消”,中文中我们使用“取消”来表示,而英文中我们使用“cancel”。若我们的程序是面向国际的(这也是软件发展的一个趋势),那么使用的人群必然是多语言环境的,实现国际化就非常有必要。而ResourceBundle可以帮助我们轻松完成这个任务:当程序需要一个特定于语言环境的资源时(如 String),程序可以从适合当前用户语言环境的资源包(大多数情况下也就是.properties文件)中加载它。这样可以编写很大程度上独立于用户语言环境的程序代码,它将资源包中大部分(即便不是全部)特定于语言环境的信息隔离开来。说白了ResourceBundle.getBundle()就是获取文件数据的高级读取器。

utils Package

/**
 * @author 王永辉
 * @version v1.1.0
 * @description
 * @date 2022-06−06-06−28
 **/
public class JDBCUtils {
        private static Connection conn;
        private static String driverName;
        private static String dbUrl;
        private static String acc;
        private static String pass;
        //德鲁伊
        private static DruidDataSource dds = new DruidDataSource();
        /*
         *@Author 玄烨
         * @Method 此方法用于静态代码块
         * @Date 8:30
         */
        static {
            //德鲁伊
            //读取数据库配置资源
            ResourceBundle bundle = ResourceBundle.getBundle("db_music");
            String driverName = bundle.getString("driver");
            String dbUrl = bundle.getString("url");
            String acc = bundle.getString("acc");
            String pass = bundle.getString("pass");
            //设置Connection连接信息
            dds.setDriverClassName(driverName);
            dds.setUrl(dbUrl);
            dds.setUsername(acc);
            dds.setPassword(pass);
        }
        /*
         *@Author 玄烨
         * @Method 此方法用于获取连接
         * @Date 8:30
         */
    public static Connection getConn() {
        try {
            //连接
            conn = dds.getConnection();
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return conn;
    }
    /*
     *@Author 玄烨
     * @Method 此方法用于关闭资源
     * @Date 11:43
     */
    public static void closeAll(ResultSet rs,PreparedStatement ps,Connection conn) {
        try {
            if(rs!=null) {
                rs.close();
            }
            if(ps!=null) {
                ps.close();
            }
            if(conn!=null) {
                conn.close();
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
    }
}

效果:

数据库连接池是一种用于管理数据库连接的技术,它通过预先创建一定数量的数据库连接并保存在连接池中,当应用程序需要与数据库进行交互时,直接从连接池中获取连接,而不需要每次都创建和销毁连接,从而减少了连接的创建和销毁开销,提高了系统的响应速度和性能。 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、付费专栏及课程。

余额充值