【JDBC】德鲁伊druid 数据库连接池

429 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第 天,点击查看活动详情

一、德鲁伊jar包导入

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

链接:pan.baidu.com/s/12G_2TueH…
提取码: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();
        }

    }
}