Druid数据库连接池的简单介绍和使用

介绍Druid连接池 Druid连接池是阿里巴巴开源的一款基于JDBC规范的高性能连接池。它支持MySQL, PostgreSQL, Oracle, DB2, Microsoft SQL Server等数据库,而且Druid提供了监控功能,可以监控连接池的状态。下面将详细介绍Druid连接池的使用及其特点。 阅读详情

引言

        Java程序很大一部分要操作数据库,为了提高性能操作数据库的时候,又不得不使用数据库连接池。

        Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入 了日志监控。

        Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。

        Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。

        Spring Boot 2.0 以上默认使用 HikariCP 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最优秀 的数据源。

Github地址:https://github.com/alibaba/druid/

中文参考地址:https://github.com/alibaba/druid/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E 9%A2%98

一,数据库连接池

1.1,什么是数据据库连接池

        连接池是一种常用的技术,为什么需要连接池呢?这个需要从TCP说起。假如我们的服务器跟数据库没 有部署在同一台机器,那么,服务器每次查询数据库都要先建立连接,一般都是TCP链接,建立连接就需要3 次握手了,假设后台服务跟数据库的单程的访问时间需要10ms,那么光是建立连接就花了30ms,并且TCP 还有慢启动的机制,实际上一次查询可能还不止1次TCP来回,查询效率就会大大降低。

1.2,什么要使用数据库连接池

        为了解决上述问题,我们就需要维护一些长链接,这样就不用每次都去建立连接,毕竟建立连接除了占 用时间,还需要一些其他的系统资源。另外的好处,连接池让我们更加容易地管理,一方面是可以避免数据 库资源都被某几个API占据,另一方面也可以避免资源泄露。

1.3,常用的连接池组件

  • c3p0
  • dbcp pool dbcp2
  • tomcat servlet容器,也内置一个连接池(dbcp)
  • druid 国内项目推荐使用此连接池,排行第一
  • HikariCP springboot 默认推荐

二,Druid使用

1.建立pom.xml配置maven依赖

到maven仓库搜寻源码依赖:Maven Repository: com.alibaba » druid » 1.2.20 (mvnrepository.com)

<!-- com.alibaba/druid -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.2.20</version>
</dependency>

2.创建.properties的配置文件

在属性配置文件中配置如下: 

//JDBC驱动的名字
driverClassName=com.mysql.cj.jdbc.Driver
//连接字符串
url=jdbc:mysql://localhost:3306/files
//数据库的用户名
username=root
//数据库密码
password=123
//程序启动时默认创建的数据库连接数
initialSize=10
//如果连接数大于intitialSize的数后创建的最大连接数
maxActive=20

3.创建java类使用druid连接数据库


public class DruidSample {
    public static void main(String[] args) {
        //1.加载属性文件
        Properties properties=new Properties();
        //DruidSample.class.getResource("src/druidConfig.properties")表示获取
        // 当前DruidSample类路径下的属性文件的路径
        String propertyFile=DruidSample.class.getResource("/druidConfig.properties").getPath();
        try {
            //读取配置文件
            properties.load(new FileInputStream(propertyFile));
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


 

【Java 初级】德鲁伊 Druid连接池的使用 Druid是一个开源的Java连接池库,用于管理数据库连接。它由阿里巴巴集团开发并维护,提供了一套高性能、稳定可靠的连接池解决方案。 阅读详情

相关推荐

Druid监控页的使用(极为方便定位性能问题)

背景:最近系统频繁被压测,使用100并发线程压测到时候,发现性能一直会越来越慢,最后稳定在2s左右就是上不去。当然我首先想到到是后台数据库到瓶颈,但是看了后台数据库到监控后 发现数据库到cpu和内存使用率都不高,那边是不是我某条sql慢呢,或者是连接池不够,在获取连接都时候等待呢?或者是大多数长事物阻塞了请求呢?或者是tomcat连接池都不够用呢?还是纯粹是我都代码逻辑慢呢?这个时候就是druid监控页面发挥作用都时候了。 Druid连接池是阿里巴巴开源的数据库连接池项目。Druid连接池为监控而生,.

qq_35789269的博客 6354

数据库连接池 Druid

数据库连接池 Druid

代码改变世界 2185

数据库连接池的简单使用(c3p0, dbcp, Druid)

数据库连接池的简单使用--c3p0, dbcp, DruidC3P0的简单使用使用步骤1.导入jar包2.硬编码方式使用C3P03.使用配置文件方式使用C3P04. C3P0_JDBCUtils 工具类5. c3p0-config.xml 配置文件放置问题DBCP的简单使用1.导入jar包2.硬编码方式使用DBCP3.配置文件方式使用DBCP4.DBCP 连接池工具类 C3P0的简单使用 使用步骤 1.导入jar包 在工程下新建libs文件夹–>File–>Project Structure–&

cjhxydream的博客 1823

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

当应用程序向连接池请求的连接数超过最大连 接数量时,这些请求将被加入到等待队列中。数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,

一个菜鸡的博客 2万+

【数据库连接池】c3p0-druid-SpringJDBC

数据库连接池 概念: 其实就是一个容器(集合),存放数据库连接的容器。 当系统初始化好后,容器被创建,容器中会申请一些连接对象,当用户来访问数据库时,从容器中获取连接对象,用户访问完之后,会将连接对象归还给容器。 好处: 1. 节约资源 2. 用户访问高效 实现: 标准接口:DataSource javax.sql包下的 方法: 获取连接:getConnection() 归还连接:Connection.close()。如果连接对象Connection是从连接池中获取的,那么调用Con

joker_Ling的博客 535

极验第四代滑块验证码破解(三):滑块轨迹构造

极验第四代滑块验证码破解(三):滑块轨迹构造声明 声明 原创文章,请勿转载! 本文内容仅限于安全研究,不公开具体源码。维护网络安全,人人有责。 本文关联文章超链接:

帯泪的鱼的博客 8623

C3P0和Druid数据库连接池的简单使用;几种设计模式简介;简略介绍自定义数据库连接池注意点

数据库连接池 负责分配、管理和释放数据库连接; 它允许应用程序重复使用一个连接,而不是新建连接,提高了程序的效率; 由于新建数据库连接也是要耗费性能和时间的,当访问量十分巨大的时候,对程序性能的影响就极为显著,为了解决这个问题出现了数据库连接池的技术; C3P0连接池 使用步骤 1、导入jar包; 2、导入配置文件到src目录下;(配置文件会自动导入,但是名字必须是c3p0-config.xml或者c3p0-config-properties) 3、创建C3P0连接池对象; 4、获取连接; 5、使用连接;

weixin_46837969的博客 714

openEuler在虚拟机的网络配置

ethernet0.virtualDev 可以配置成其他类型的虚拟网络适配器。常见的选项包括:vlance - 用于模拟 AMD PCnet32 LANCE 网络适配器,支持10Mbps。e1000 - 用于模拟 Intel E1000 千兆网络适配器,支持1Gbps。e1000e - 用于模拟更现代的 Intel E1000e 千兆网络适配器。vmxnet - 用于 VMware 的自定义网络适配器,性能更好但需要安装 VMware Tools。

FHY1221的博客 2931

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

存在内存泄漏问题:每次连接都需要断开连接,如果不断开,程序运行结束,会有创建的连接对象存在内存中一直无法关闭,就会导致java内存泄漏的问题。是阿里提供的数据库连接池,据说是集DBCP 、C3P0 和Proxool 优点于一身的数据库连接池,它是目前国内用到最多的数据库连接池技术。事先在内存中建立一个缓冲池,用来存放一定数量的连接对象,需要时在里面调用,结束时放回缓冲池。Druid:阿里提供的连接池,速度快(不及BoneCP),稳定性好,有监控连接池的功能。连接池中的对象需要时取出,不需要被连接池回收。

doublepg13的博客 1996

SAP PP实战:MRP Area怎么用?手把手教你按产线、委外供应商拆分物料计划

本文详细解析了SAP PP模块中MRP Area的功能与应用,指导如何按产线、委外供应商拆分物料计划,实现精细化物料需求管理。通过实战案例展示MRP Area在减少计划冲突、提升库存准确率方面的显著效果,为制造业企业提供可落地的解决方案。

weixin_27015733的博客 432

Win11+Ubuntu18.04+Ubuntu20.04三系统安装与卸载

以下情况均为个人情况:1.插入启动 U 盘后,登录时可以按F12(拯救者Y7000,不同电脑不同)进入BIOS,选择从启动盘启动。2.。3.5.在win基础上,安装第一个Ubuntu系统后,系统启动界面类似如下第一张图,Ubuntu不显示版本号。安装第二个Ubuntu系统后,系统启动界面如下第二张图,如果想更改启动项的名称,可自行查阅相关资料。

weixin_61686291的博客 2536

Alibaba Druid 源码阅读(一) 数据库连接池初步

本文将初步探索数据库连接池的应用场景,为后面的源码分析做些准备

github_35735591的博客 378

MacBook Air老本重装系统

手里的这个本子型号是A1466,cpu i5,4G内存,硬盘ssd 120G。 重装系统可以在原系统上升级到更新版本,或者用U盘安装。 先确定,这个本子可以安装什么系统。 最权威的信息当然是apple的官网,地址:https://support.apple.com/zh-cn/HT211683 在“检查兼容性”中,可以依次检查每个系统兼容的硬件型号。Mojave是A1466能安装的最高版本。 确认兼容性后,下一步就是下载安装文件。还是这个页面稍下面一点可以找到。 这里告诉用户文件可以在什

bigwood99的博客 2万+

轻松集成Druid连接池和监控:探索高效数据库管理的奇妙世界

Druid是阿里巴巴的开源连接池组件,是世界上最好的连接池之一。Druid能对数据库连接进行有效管理和重用,最大化程序执行的效率。连接池负责创建和管理连接,程序只负责取用与归还。1.数据库连接池是个容器,负责分配、管理数据库连接(Connection);2.它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个;3.释放空闲时间超过最大空闲时间的数据库连接来避免因为没有释放数据库连接而引起的数据库连接遗漏;

2301_77478553的博客 671

android 14.0 去掉usb授权提示框 默认给予权限

在14.0的系统rom产品开发中,在进行iot关于插入usb设备的开发过程中,在插入usb设备时会弹出usb授权提示框,也带来一些不便, 这个需要默认授予USB权限,插拔usb都不弹出usb弹窗所以这要从usb授权相关管理页默认给与usb权限,接下来分析下 相关的实现功能流程

安卓兼职framework和app工程师的博客 2261

innovus:addRepeaterByRule用法

我正在「拾陆楼」和朋友们讨论有趣的话题,你⼀起来吧?addRepeaterByRule不管transition/timing violation,只根据约束的length/cap/fanout等等去给net 插buffer。

m0_61544122的博客 1088

简单的数据库连接池

什么是数据库连接池? 简单的自定义数据库连接池帮助理解。 提供第三方连接池:Druid和C3P0

weixin_60968208的博客 601

在Simulink中构建永磁同步电机的网络化控制模型,并分析通信网络对系统性能的影响

核心优势通过仿真验证了网络延迟和丢包对PMSM控制性能的影响。提供了改进PI参数或引入自适应控制的解决方案。扩展方向抗干扰控制:结合卡尔曼滤波或滑模控制抑制网络噪声。时间敏感网络(TSN)建模:参考知识库[2]的中断触发方式,实现确定性通信。网络安全仿真:模拟恶意攻击(如数据篡改)对控制系统的威胁。

xiaoheshang_123的博客 167

Druid数据库连接池简单使用介绍

Druid数据库连接池简单使用介绍          简单使用介绍:     Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象。     下面给出2种配置方法实例:    1. 纯Java代码创建 dataSource = new DruidDataSource(); dataSource.set

程序猿开发日志【学习永无止境】 814

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

c3p0和druid数据库连接池的简单和应用

首先需要导入c3p0架包:c3p0-0.9.5.5.jar mchange-commoms-java-0.2.19.jar(你也可以使用其他版本) 导入jdbc架包:mysql-connector-java-5.1.47-bin.jar 在src下添加c3p0的配置文件名字为 c3p0-config.xml,具体配置内容如下(简单配置,更多参数配置可参考互联网): <c3p0-config> <default-config> <!--连接参数--> <proper

qq_45193057的博客 228

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Java之Druid连接池

使用Druid连接数据库 1.导入核心jar包 druid-1.0.9.jar — DruidDataSource 2.在src目录执行核心配置文件 druid里面内置的属性名字,等号前面的名字不能更改 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/mydb_02 username=root password=123456 连接池的默认配置信息 initialSize=5 初始化连接数量5 maxActive

qq_43336579的博客 595

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

数据库连接池(c3p0,Druid,SpringJDBC)

概念:其实就是一个容器(集合),存放数据库连接的容器。 好处: 1. 节约资源 2. 用户访问高效 C3P0:数据库连接池技术 1.导入jar包 2.定义配置文: * 名称: c3p0.properties 或者 c3p0-config.xml * 路径:直接将文件放在src目录下即可 * 需要修改连接数据库的各个参数。 3. 创建核心对象 数据库连接池对象 ComboPooledDataSo...

weixin_43719325的博客 197

Druid阿里巴巴数据库的简单配置

简介 DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以说是针对监控而生的DB连接池,据说是目前最好的连接池。 使用 1.添加依赖 2.配置选项 在spring boot中可直接配置在 application.properties中 配合mybatis时还需其他配置 ...

小猫咪 703

c3p0、Druid连接池使用步骤

c3p0连接池使用步骤 导入jar包c3p0-0.9.1.2.jar 编写c3p0-config.xml配置文件,配置对应参数 将配置文件放在src目录下 创建连接池对象ComboPooledDataSource,使用默认配置或命名配置 从连接池中获取连接对象 使用连接对象操作数据库 关闭资源 这个文件需要自己下载! 编写配置文件: <c3p0-config> <...

xiaomu_a的博客 358

Druid连接池的意义以及使用

建立数据库连接耗时耗费资源,一个数据库服务器能够同时建立的连接数也是有限的,在大型的Web应用中,可能同时会有成百上千的访问数据库的请求,如果Web应用程序为每一个客户请求分配一个数据库连接,将导致性能的急剧下降。 数据库连接池的意义在于,能够重复利用数据库连接(有点类似线程池的部分意义),提高对请求的响应时间和服务器的性能。 连接池中提前预先建立了多个数据库连接对象,然后将连接对象保存到连接池中...

mulinsen77的博客 6万+

flink配合druid连接池的使用

博主之前在flink集成连接池的使用,一直存在一个误区,就是为了减少程序对资源的创建,所有加载资源或者获取连接都放在了flink的open方法中,虽然这样可以减少资源的使用,也可以满足大多数场景,但是如:mysql的connection长时间不用,该connection 会被mysql数据库本身给回收。 先简单介绍一下Druid: DRUID是阿里巴巴开源平台上一个数据库连接池实现,它结合了C3P0、DBCP、PROXOOL等DB池的优点,同时加入了日志监控,可以很好的监控DB池连接和SQL的执行情况,可以

qq_44962429的博客 9480
上一篇: 安装node.js并创建第一个vue项目
下一篇: 优快云下载资源的积分获取方法
涵冰...
博客等级 码龄4年 2438粉丝 243原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

涵冰...

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

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

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

打赏作者

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

抵扣说明:

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

余额充值