简介

Druid是阿里巴巴旗下Java语言中最好的数据库连接池。Druid能够提供强大的监控和扩展功能。

官网: https://github.com/alibaba/druid/wiki/常见问题

SpringBoot集成官网:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

依赖

    <!--sqlserver驱动-->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version> 7.4.1.jre8</version>
<scope>runtime</scope>
</dependency>
<!--Duid集成SpringBoot-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.1.18</version>
</dependency>
<!--spring集成jdbc-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>

yml配置

server:
port: 8082
servlet:
context-path: /druidDemo
spring:
datasource:
url: jdbc:sqlserver://192.168.200.42\YPT3
username: sa
password: 123qwe,.
# 可以缺省 根据添加的依赖进行自动配置
driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
druid:
initial-size: 5 # 初始化时建立物理连接的个数
max-active: 30 # 最大连接池数量
min-idle: 5 # 最小连接池数量
max-wait: 60000 # 获取连接时最大等待时间,单位毫秒
time-between-eviction-runs-millis: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
min-evictable-idle-time-millis: 300000 # 连接保持空闲而不被驱逐的最小时间
validation-query: SELECT 1 # 用来检测连接是否有效的sql,要求是一个查询语句
# 建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
test-while-idle: true
test-on-borrow: false # 申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
test-on-return: false # 归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
pool-prepared-statements: true # 是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
max-pool-prepared-statement-per-connection-size: 50 # 要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。
filter:
stat: # 配置监控统计拦截的filters,去掉后监控界面sql无法统计
db-type: sqlserver #类型
log-slow-sql: true #开启慢sql监控
slow-sql-millis: 2000 #慢sql时间
enabled: true
connect-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500 # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
use-global-data-source-stat: true # 合并多个DruidDataSource的监控数据
stat-view-servlet:
login-username: admin # druid连接池监控用户名
login-password: 123 # druid连接池监控用户名密码
enabled: true #是否启用StatViewServlet(监控页面)默认值为false(考虑到安全问题默认并未启动,如需启用建议设置密码或白名单以保障安全)
web-stat-filter:
exclusions: /druid/* # 排除一些静态资源,以提高效率 *.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*
type: com.alibaba.druid.pool.DruidDataSource #连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druid

监控页面

启动项目: 访问

http://localhost:8082/druidDemo/druid/sql.html

gitee项目地址

https://gitee.com/zhuayng/foundation-study.git

参考

https://www.cnblogs.com/defineconst/p/10879824.html

https://segmentfault.com/a/1190000019718506

SpringBoot集成druid数据库连接池的简单使用的更多相关文章

  1. Spring Boot集成Druid数据库连接池

    1. 前言 Druid数据库连接池由阿里巴巴开源,号称是java语言中最好的数据库连接池,是为监控而生的.Druid的官方地址是:https://github.com/alibaba/druid 通过 ...

  2. springboot整合druid数据库连接池并开启监控

    简介 Druid是一个关系型数据库连接池,它是阿里巴巴的一个开源项目.Druid支持所有JDBC兼容的数据库,包括Oracle.MySQL.Derby.PostgreSQL.SQL Server.H2 ...

  3. springboot+mybatis+druid数据库连接池

    参考博客https://blog.csdn.net/liuxiao723846/article/details/80456025 1.先在pom.xml中引入druid依赖包 <!-- 连接池 ...

  4. SpringBoot 配置Druid数据库连接池

    创建数据库连接池配置类 package com.boot.config; import com.alibaba.druid.pool.DruidDataSource; import com.aliba ...

  5. springboot集成druid连接池

    使用druid连接池主要有几步: 1.添加jar和依赖 <groupId>org.mybatis.spring.boot</groupId> <artifactId> ...

  6. Spring Boot [使用 Druid 数据库连接池]

    导读 最近一段时间比较忙,以至于很久没有更新Spring Boot系列文章,恰好最近用到Druid, 就将Spring Boot 使用 Druid作为数据源做一个简单的介绍. Druid介绍: Dru ...

  7. Druid数据库连接池就这么简单

    前言 本章节主要讲解Druid数据库连接池,为什么要学Druid数据库连接池呢?? 我的知识储备数据库连接池有两种->C3P0,DBCP,可是现在看起来并不够用阿~当时学习C3P0的时候,觉得这 ...

  8. springboot项目整合druid数据库连接池

    Druid连接池是阿里巴巴开源的数据库连接池项目,后来贡献给Apache开源: Druid的作用是负责分配.管理和释放数据库连接,它允许应用程序重复使用一个现有的数据库连接,而不是再重新建立一个: D ...

  9. springboot druid 数据库连接池连接失败后一直重连

    在使用个人阿里云测试机,在查询实时输出日志时,看到数据库连接失败后,服务器一直在重连服务器.开始以为是遭受重复攻击,后面把服务重启后,就没有出现一直重连的情况.看以下输出日志: 2022-02-09 ...

随机推荐

  1. 【汇编语言】李忠《x86汇编语言——从实模式到保护模式》

    该书配套资料网址已经失效 配套资料和章节答案下载 查看最新作者网址:http://www.lizhongc.com/ 勘误表:https://wenku.baidu.com/view/9213288b ...

  2. 【机器学*】k*邻算法-01

    k临*算法(解决分类问题): 已知数据集,以及该数据对应类型 给出一个数据x,在已知数据集中选择最接*x的k条数据,根据这k条数据的类型判断x的类型 具体实现: from numpy import * ...

  3. MacOS使用IDEA+Maven+Scala+Spark进行本地调试

    参考:spark开发环境搭建(基于idea 和maven) 安装JDK 从这里下载Java 8的JDK 设置JAVA_HOME环境变量,在Mac上它大概会是/Library/Java/JavaVirt ...

  4. Java 16 中新增的 Stream 接口的一些思考

    这里先提一个题外话,如果想看 JDK 不同版本之间有何差异,增加或者删除了哪些 API,可以通过下面这个链接查看: https://javaalmanac.io/jdk/17/apidiff/11/ ...

  5. python 日志logging设置按天进行保存,保存近7天,过期日志自动清理

    参考文章(写的很详细):https://www.cnblogs.com/xujunkai/p/12364619.html 前言: 跑接口自动化或者其他程序运行时,如果只能保存一份log文件,可能会存在 ...

  6. django后台admin页面表单自定义

    自定义一个form 表单来替换admin默认的表单 在自定义表单中可以定义字段和验证 https://docs.djangoproject.com/zh-hans/3.2/ref/contrib/ad ...

  7. next中layout

    layout是页面模板,主要是为了做到无论在任何页面都会显示的内容,例如头部header,或者nav导航,页脚等固定页面.nuxt配置以及layout具体参考(https://cloud.tencen ...

  8. jsencrypt vue相关的rsa加密

    vue组件引入 import { JSEncrypt } from 'jsencrypt' 方法内使用 let publicKey = asdfsafdadfafasjdhfasfd // 从后台获取 ...

  9. python多环境管理一(venv与virtualenv)

    一.背景 我们经常会遇见这样的场景: 1.各个项目使用的python版本不相同 由于Python的解释器版本众多,各版本之间差异非常大.特别是python2和python3,互不兼容. 有些项目可能用 ...

  10. 网络协议学习笔记(四)传输层的UDP和TCP

    概述 传输层里比较重要的两个协议,一个是 TCP,一个是 UDP.对于不从事底层开发的人员来讲,或者对于开发应用的人来讲,最常用的就是这两个协议.由于面试的时候,这两个协议经常会被放在一起问,因而我在 ...