【JDBC】数据库连接池:德鲁伊druid的使用

CSDN话题挑战赛第2期
参赛话题:学习笔记

在这里插入图片描述

在这里插入图片描述

求关注⚽ 作者🥇 .29. 🥇 的✔博客主页✔

JDBC专栏

(点击进入专栏)
【1】idea添加mysql-jar包
【2】使用IDEA连接数据库,执行增删改操作。
【3】IDEA连接数据库,执行查询操作,返回结果集并输出。
【4】JDBC实战 水果库存系统 [设计阶段]
【5】 水果库存系统 [功能实现①](接口实现类FruitDAOImpl)
【6】 水果库存系统 [功能实现②] 功能完善+使用效果
【7】 水果库存系统 [代码优化]
【8】连接数据库,执行批处理操作。
【9】数据库连接池:德鲁伊druid的使用


一、德鲁伊jar包导入

我们需要使用druid数据库连接池,首先就是要导入druid的jar包,我已经为兄弟们准备好jar包啦,直接下载即可。

链接:https://pan.baidu.com/s/12G_2TueHQZynSH2C9WfwMg
提取码:djar

。。。

下载完成后,我们直接Ctrl + c复制,然后Ctrl + v拷贝到我们在IDEA项目文件准备好的lib模块中。

在这里插入图片描述

。。。

右键我们的lib模块,将其设置为依赖:

在这里插入图片描述

。。。

选择OK,成功设置为依赖:

在这里插入图片描述

。。。
当我们要使用德鲁伊的依赖时,还需要在项目结构中,绑定lib的模块依赖,点击左上角的File,选择Project Structure,后选择Modules,在Dependencies界面给需要的文件添加依赖。

在这里插入图片描述

👇👇👇

在这里插入图片描述

这样,Druid jar包就导入完成啦…


二、创建配置文件

我们的配置文件需要在模块中的src包下创建或导入:

在这里插入图片描述

。。。
上图中的jdbc2.properties就是我创建的配置文件,当然名字是没有限制的,但是配置文件的后缀应当是.properties,我们接下来看一下配置文件中的内容:

#驱动位置
driverClassName = com.mysql.cj.jdbc.Driver
#通信地址
url=jdbc:mysql://localhost:3306/fruitdb?useSSL=false&useUnicode=true&characterEncoding=gbk&rewriteBatchedStatements=true
#用户名
username=root
#密码
password=123456
#初始化连接数
initialSize=2
#最大连接数
maxActive=5
#最大等待时间(毫秒)
maxWait=5000

需要注意:配置文件中各种参数名不能随意取,只有像文中这样的参数名才能被识别。


三、读取配置文件

接下来,我们需要创建Properties对象来读取配置文件中的信息:

        //创建Properties对象
        Properties properties = new Properties();
        //创建输入流,获取配置文件中的数据
        InputStream is = Demo06Druid.class.getClassLoader().getResourceAsStream("jdbc2.properties");
        //使用Properties对象来读取配置文件
        //load中需要InputStream
        properties.load(is);

四、创建Druid数据库连接池

创建指定参数的数据库连接池,将Properties对象传入,获得Druid数据库连接池:


DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);


五、建立连接 与 关闭连接

注意:这里的关闭连接操作并不是真正地断开了与数据库的连接,而是将连接对象重新放入数据库连接池中,等待下一次的使用。

//创建连接对象
Connection connection = dataSource.getConnection();

//关闭连接
connection.close();

六、完整代码

代码中的循环是测试用的:

import javax.sql.DataSource;
import java.io.InputStream;
import java.sql.Connection;

import java.util.Properties;

/**
 * @author .29.
 * @create 2022-09-26 18:42
 */
//读取外部配置文件,设置连接池
public class Demo06Druid {
    public static void main(String[] args) throws Exception {
        //创建Properties对象
        Properties properties = new Properties();
        //创建输入流,获取配置文件中的数据
        InputStream is = Demo06Druid.class.getClassLoader().getResourceAsStream("jdbc2.properties");
        //使用Properties对象来读取配置文件
        //load中需要InputStream
        properties.load(is);

        DataSource dataSource = DruidDataSourceFactory.createDataSource(properties);


        for(int i = 0;i < 500000;++i){
            Connection connection = dataSource.getConnection();
            connection.close();
        }

    }
}

求关注⚽ 作者🥇 .29. 🥇 的✔博客主页✔

在这里插入图片描述

  • 39
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 49
    评论
评论 49
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

.29.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值