连接池 druid(阿里巴巴的框架)

Alibaba Druid简单介绍及使用 Alibaba Druid(以下简称 Druid)是阿里巴巴开源的数据库连接池、SQL 解析、监控和扩展功能的工具集合。它不仅仅是一个数据库连接池,还提供了强大的监控和管理功能,可以帮助开发者更好地管理数据库连接、优化SQL查询以及监控数据库性能。 阅读详情
说的是现在最好的连接池

注:
  • 属性跟 dbcp 连接池的差不多.
  • 加入了 filters 监控(value 值要有 stat)   在web.xml里加入下面的Servlet  就可查看  例: http://localhost:8080/BenbearGame_test/druid
  • 跟spring 一起用时( 只要配置  initialSize      maxActive   就可以),加入其实配置性能不好,官方文档里也不没加其它属性

<!-- 数据源 org.apache.commons.dbcp.BasicDataSource com.alibaba.druid.pool.DruidDataSource -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost/mybatis" />
<property name="username" value="root" />
<property name="password" value="admin" />


<!-- druid 连接池的 -->
<property name="filters" value="stat" />

<!-- 下面druid 和 dbcp 连接池通用的 ↓↓↓↓↓↓↓↓↓↓↓↓ -->
<!--maxActive: 最大连接数量 -->
<property name="maxActive" value="20" />
<!--initialSize: 初始化连接 -->
<property name="initialSize" value="5" />

</bean> 


filters 监控 Servlet
<servlet>
<servlet-name>DruidStatView<rvlet-name>
<servlet-class>com.alibaba.druid.support.http.StatViewServlet<rvlet-class>
<rvlet>
<servlet-mapping>
<servlet-name>DruidStatView<rvlet-name>
<url-pattern>/druid/*</url-pattern>
<rvlet-mapping> 




ExecuteCount

当前sql已执行次数

ExecTime

当前sql已执行时间

ExecMax

当前sql最大执行时间

Txn

当前运行的事务数量

Error

当前sql执行出错的数目

Update

当前sql更新或者删除操作中已经影响的行数

FetchRow

当前sql操作中已经读取的行数

Running

当前sql正在运行的数目

Concurrent

当前sql最大并发执行数 

ExecHisto 

当前sql做execute操作的时间分布数组

分为0-1,1-10,10-100,100-1000,>1000,5个时间分布区域,单位为ms

ExecRsHisto 

当前sql做execute操作和resultSet

打开至关闭的时间总和分布数组

同上

FetchRowHisto

当前sql查询时间分布数组

同上

UpdateHisto 

当前sql更新、删除时间分布数组

同上



配置 缺省值 说明
name   配置这个属性的意义在于,如果存在多个数据源,监控的时候可以通过名字来区分开来。
如果没有配置,将会生成一个名字,格式是:"DataSource-" + System.identityHashCode(this)
jdbcUrl   连接数据库的url,不同数据库不一样。例如:
mysql : jdbc:mysql://10.20.153.104:3306/druid2 
oracle : jdbc:oracle:thin:@10.20.149.85:1521:ocnauto
username   连接数据库的用户名
password   连接数据库的密码。如果你不希望密码直接写在配置文件中,可以使用ConfigFilter。详细看这里:https://github.com/alibaba/druid/wiki/%E4%BD%BF%E7%94%A8ConfigFilter
driverClassName 根据url自动识别 这一项可配可不配,如果不配置druid会根据url自动识别dbType,然后选择相应的driverClassName
initialSize 0 初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
maxActive 8 最大连接池数量
maxIdle 8 已经不再使用,配置了也没效果
minIdle   最小连接池数量
maxWait   获取连接时最大等待时间,单位毫秒。配置了maxWait之后,缺省启用公平锁,并发效率会有所下降,如果需要可以通过配置useUnfairLock属性为true使用非公平锁。
poolPreparedStatements false 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
maxOpenPreparedStatements -1 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
validationQuery   用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。
testOnBorrow true 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testOnReturn false 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
testWhileIdle false 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
timeBetweenEvictionRunsMillis   有两个含义:
1) Destroy线程会检测连接的间隔时间 2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
numTestsPerEvictionRun   不再使用,一个DruidDataSource只支持一个EvictionRun
minEvictableIdleTimeMillis    
connectionInitSqls   物理连接初始化的时候执行的sql
exceptionSorter 根据dbType自动识别 当数据库抛出一些不可恢复的异常时,抛弃连接
filters   属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:
监控统计用的filter:stat 日志用的filter:log4j 防御sql注入的filter:wall
proxyFilters   类型是List<com.alibaba.druid.filter.Filter>,如果同时配置了filters和proxyFilters,是组合关系,并非替换关系

springboot整合Druid Druid简介 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP 等 DB 池的优点,同时加入了日志监控。 Druid 可以很好的监控 DB 池连接和 SQL 的执行情况。 Github地址:https://github.com/alibaba/druid/ 配置数据源 1、添加上 Druid 数据源依赖。 <dependencies> <dependency> <groupId>com.ali.. 阅读详情

相关推荐

15、框架-SpringBoot-使用Druid数据源

DRUID 简介 Druid 是阿里巴巴开源平台上一个数据库连接池实现,结合了 C3P0、DBCP、PROXOOL 等 DB 池的优点,同时加入了日志监控。 Druid 可以很好的监控 DB 池连接和 SQL 的执行情况,天生就是针对监控而生的 DB 连接池。 Spring Boot 2.0 以上默认使用 Hikari 数据源,可以说 Hikari 与 Driud 都是当前 Java Web 上最...

Princess_Li的博客 965

com.alibaba.druid

关于数据库连接池 我们都知道,在使用数据库时,基本分为三步骤。 建立数据库连接。 执行sql 关闭或销毁连接 但是,如果每执行一次sql都需要经过这三步的话,可以明显看出,第1步和第2步是重复的,这样会增加不必要的系统开销,影响系统的效率,由此我们引进数据库连接池来解决这些问题: 数据库连接池通过在内部维护一定数量的数据库连接,并对外暴露数据库连接的获取和返回方法。外部使用者可通过getConnection方法获取数据库连接,使用完毕后再通过releaseConnection方法将连接返回,注意此时的连

weixin_41603244的博客 3835

霍尔电流传感器在新能源汽车中的应用综述

本文旨在全面剖析霍尔电流传感器在新能源汽车领域的应用现状、技术挑战及发展趋势。通过系统梳理其在电池管理系统、电机控制、车载充电等核心系统的应用场景,深入分析面临的技术瓶颈与创新解决方案,并基于最新技术动向展望未来发展方向,为相关领域的技术创新提供参考依据。

m0_46819860的博客 2259

# com.alibaba.druid使用踩坑解决

com.alibaba.druid使用踩坑解决 1.加入依赖 <dependency> <!--自动配置--> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <versi...

不积跬步,无以至千里;不积小流,无以成江海 1万+

计算机模拟爆破过程,基于LSDYNA岩石爆破模拟建模分析

原标题:基于LSDYNA岩石爆破模拟建模分析 Ls Dyna岩石爆破模拟仿真作者:dyna_focus擅长领域:dyna/abaqus/hypermesh一、 数值模型的建立1.1 单元及算法的选择岩石,炸药,空气都采用solid164实体单元。岩石采用常应力实体单元,该种单元属于纯粹的lagrange算法,该种算法单元网格附着在材料上,随着材料的流动而产生单元网格的变形,但是在结构变形巨大时,有...

weixin_29494379的博客 7311

Windows安装WSL子系统及docker,以及WSL和docker配置、使用及问题解决

在Windows操作系统中,Ubuntu子系统(也称为Windows Subsystem for Linux, WSL)为开发者提供了一个在Windows环境下运行Linux环境的平台。然而,有时用户在按照Ubuntu子系统或者使用WSL时,可能会遇到各种问题,下面总结一下解决方式。想要在Windows上安装Docker(实际上是基于Hyper-V或者WSL2这两项虚拟化技术),需要开启虚拟化功能,所以不管是对于系统还是硬件都有一定的要求。

sym的博客 9779

阿里巴巴连接池mysql,连接池 druid(阿里巴巴的框架)

说的是现在最好的连接池注:属性跟 dbcp 连接池的差不多.加入了 filters 监控(value 值要有 stat)在web.xml里加入下面的Servlet就可查看跟spring 一起用时( 只要配置initialSize maxActive 就可以),加入其实配置性能不好,官方文档里也不没加其它属性filters 监控 ServletDruidStatViewcom.al...

weixin_42418754的博客 236

PLS-PM with R 偏最小二乘路径建模 (R语言)

1. 引入 1.1. 安装plspm包 plspm 是一个用于执行偏最小二乘路径建模分析的 r 程序包。 在 CRAN 上可以免费下载: Http://cran.r-project.org/web/packages/plspm/index.html. 此后,通过以下代码在r中安装并加载该程序包即可。 install.packages("plspm") library("plspm") 2. 一些简单概念 2.1. 潜变量和观测变量 不少变量如满意度、成功指数是无法通过观测得到

Wowlittlemoon的博客 1万+

oracle 阿里巴巴连接池,连接池 druid(阿里巴巴的框架)

说的是现在最好的连接池注:属性跟 dbcp 连接池的差不多.加入了 filters 监控(value 值要有 stat)在web.xml里加入下面的Servlet就可查看跟spring 一起用时( 只要配置initialSize maxActive 就可以),加入其实配置性能不好,官方文档里也不没加其它属性filters 监控 ServletDruidStatViewcom.al...

weixin_39570530的博客 342

【生成C01/C10材料常数excel表】

计算橡胶件的邵尔硬度和C01/C10材料常数

weixin_46153372的博客 1932

KingSCADA实现按钮点击效果

哈喽,你好啊,我是雷工!在做SCADA项目的时候,按钮是不可缺少的功能,但软件自带的按钮太丑,已经无法满足现如今客户对界面美观度的要求。这时候就需要UI小姐姐设计美观大气的SCADA界面,但UI设计的按钮切图放到程序中只是图片素材,当添加了按钮功能时,虽然能实现按钮功能,但没有任何点击效果;当遇到有需要连锁条件才能点击的按钮时,操作员无法区分是有连锁点击了没反应,还是系统界面卡死了导致的没点击成功,这时候有点击效果就能很好的区分这种问题。本篇介绍一种实现按钮点击效果的方法,以下为操作过程。

做有价值的事,积累有价值的笔记! 2764

阿里巴巴-德鲁伊druid连接池配置

阿里巴巴推出的国产数据库连接池,据网上测试对比,比目前的DBCP或C3P0数据库连接池性能更好,Druid与其他数据库连接池使用方法基本一样(与DBCP非常相似),将数据库的连接信息全部配置给DataSource对象。 spring .xml配置:

敲键盘的猫 1万+

动量因子在A股市场的有效性分析:量化实证研究

验证动量因子在A股市场的有效性及时间周期性分析不同时间窗口(短期/中期/长期)对动量效应的影响量化交易成本、市场流动性对动量策略收益的侵蚀程度比较A股与成熟市场(如美股)动量效应的差异特征理论框架:行为金融学解释动量效应的产生机制技术实现:Python全流程代码实现动量因子计算与回测实证分析:统计检验、风险收益指标、敏感性分析应用拓展:结合市场微观结构的策略优化方案动量因子(Momentum Factor)

2501_92132293的博客 2467

2.SpringBoot中的MySQL数据库(阿里巴巴连接池druid)配置以及Myatis框架配置和初步应用

2.springboot中的MySQL数据库(阿里巴巴连接池druid)配置以及Myatis框架配置和初步应用

WangChen的博客 2892

【箱子之字形摆放】python实现-附ChatGPT解析

箱子之形摆放有一批箱子(形式为宁符串,设为str) ,要求将这批箱子按以之形的顺序摆放在宽度为n的空地,请输出箱子的摆放结果。例如:箱子为ABCDEFG,空地宽度为3,摆放结果如图:则输出结果为:AFGBECD输入一行字符串,通过空格分制,前面部分为字母或数字组成的字符串str,表示;后面部分为一个数字n,表示。ABCDEFG 3箱子摆放结果,如题目示例所示AFGBECD。

sinat_29950703的博客 370

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

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

Druid,spring框架使用

Druid:数据库连接池实现技术,由阿里巴巴提供的 步骤: 1. 导入jar包 druid-1.0.9.jar 2. 定义配置文件: * 是properties形式的 * 可以叫任意名称,可以放在任意目录下 注意不要添加多余字符,比如空格,会出现异常 3. 加载配置文件。Properties 用getResourceAsStream方法获取源工程下的配置文件 4. 获取数据库连接池对...

qq_45337106的博客 411

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

springboot整合druid数据库连接池

Druid是阿里巴巴的一个数据库连接池开源框架,准确来说它不仅仅包括数据库连接池这么简单,Druid在监控、可扩展性、稳定性和性能方面都有明显的优势。Druid提供了Filter-Chain模式的扩展API,可以自己编写Filter拦截JDBC中的任何方法,可以在上面做任何事情,比如说性能监控、SQL审计、用户名密码加密、日志等等。 一、主流连接池对比 常用的主流开源数据库连接池有C3P0、DBC...

xiaochouyu__的博客 1869

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: Fastjson介绍
下一篇: Python介绍及视频教程
7star_java
博客等级 码龄15年 80粉丝 127原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值