栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

JDBC数据库连接池Druid基本使⽤和druid配置详解

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JDBC数据库连接池Druid基本使⽤和druid配置详解

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

数据库连接池是个容器,负责分配、管理数据库连接(Connection),它允许应⽤程序重复使⽤⼀个现有的数据库连接,⽽不是再重新建⽴⼀个;释放空闲时间超过最⼤空闲时间的数据库连接来避免因为没有释放数据库连接⽽引起的数据库连接遗漏。

二、据库连接池的好处

1.资源重⽤
2.提升系统响应速度
3.避免数据库连接遗漏

注:之前我们代码中使⽤连接是没有使⽤都创建⼀个Connection对象,使⽤完毕就会将其销毁。这样重复创建销毁的过程是特别耗费计算机的性能的及消耗时间的。⽽数据库使⽤了数据库连接池后,就能达到Connection对象的复⽤连接池是在⼀开始就创建好了⼀些连接(Connection)对象存储起来。⽤户需要连接数据库时,不需要⾃⼰创建连接,⽽只需要从连接池中获取⼀个连接进⾏使⽤,使⽤完毕后再将连接对象归还给连接池;这样就可以起到资源重⽤,也节省了频繁创建连接销毁连接所花费的时间,从⽽提升了系统响应的速度。 三、Druid数据库连接池的实现 1.所有连接池的标准接⼝:DataSource 官⽅(SUN) 提供的数据库连接池标准接⼝,由第三⽅组织实现此接⼝。该接⼝提供了获取连接的功能:就可以直接通过连接池(DataSource)获取Connection对象。 2.常见的数据库连接池 2.1 DBCP 2.2 C3P0 2.3 Druid 注:现在使⽤更多的是Druid,它的性能⽐其他两个会好⼀些。 3.Druid(德鲁伊) Druid连接池是阿⾥巴巴开源的数据库连接池项⽬功能强⼤,性能优秀,是Java语⾔最好的数据库连接池之⼀ 4.Druid数据库连接池的使⽤ ①导⼊maven依赖包

创建一个lib文件夹,将Druid依赖包复制进去,并在IDEA中添加到添加此依赖

② 定义配置⽂件【url、⽤户账户密码、连接数据库的信息】

在模块的src下创建一个druid.properties文件,配置信息如下(因自己情而定义,这些属性的解释在下面表中):
user:root
password:1234
url:url=jdbc:mysql:///test
driverClassName:com.mysql.jdbc.Driver

③ 加载配置⽂件【Properties】

Properties prop = new Properties();
prop.load(new FeilInputStream(“druid.properties”));

④ 获取数据库连接池对象【⼯⼚⽅式获取】

DataScorce dataSource = DruidDataSourceFactory.createDataSource(prop);

⑤ 获取数据库连接对象

dataSource.getConnection();

5.Druid配置详解
属性说明
url数据库的jdbc连接地址。一般为连接oracle/mysql。mysql示例如下:jdbc:mysql://主机名称:mysql服务端口号/数据库名称?参数=值&参数=值
username登录数据库的用户名
password登录数据库的用户密码
initalSize启动程序时,在连接池中的初始化多少个连接
maxActive连接池中最多支持多少个活动会话
maxWait程序向连接池中请求连接时,超过其值后,认为本次请求失败,及连接冲中没有可用连接
连接部分代码演示:

    //因为连接池就只需就创建一个所以定义在获取连接的方法之外
    private static DataSource dataSource;
    static {
        try {
            Properties pros = new Properties();
            InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("druid.properties");
            pros.load(is);
            //根据配置文件件创建连接池
            dataSource = DruidDataSourceFactory.createDataSource(pros);
        }catch (Exception e){
            e.printStackTrace();
        }

    }
    //将连接封装成方法,提供给其他类使用
    public static Connection getConnection3() throws Exception {
        Connection connection = dataSource.getConnection();
        return connection;
    }
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/980872.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号