欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Springboot中加入druid连接池

程序员文章站 2022-03-03 23:12:13
目录1.druid连接池介绍2.druid 的参数3.配置依赖4.添加文件1.druid连接池介绍druid是阿里巴巴开发的号称为监控而生的数据库连接池,druid是目前最好的数据库连接池。在功能、性...

1.druid连接池介绍

druid是阿里巴巴开发的号称为监控而生的数据库连接池,druid是目前最好的数据库连接池。
在功能、性能、扩展性方面,都超过其他数据库连接池,同时加入了日志监控,
可以很好的监控db池连接和sql的执行情况。

2.druid 的参数

jdbcurl 连接数据库的url:mysql : jdbc:mysql://localhost:3306/test
username 数据库的用户名
password 数据库的密码
driverclassname 驱动类名。根据url自动识别,这一项可配可不配,如果不配置druid会根据url自动识别dbtype

driverclassname的配置:

  •         initialsize初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次         getconnection
  • ​        maxactive 最大连接池数量
  • ​        maxidle 已经不再使用,配置了也没效果
  • ​        minidle 最小连接池数量
  •         ​maxwait 获取连接时最大等待时间,单位毫秒

3.配置依赖

   

    <!-- druid依赖 -->
        <dependency>
            <groupid>com.alibaba</groupid>
            <artifactid>druid-spring-boot-starter</artifactid>
            <version>1.2.8</version>
        </dependency>
 
        <!-- log4j 不加此依赖druid的filters拦截会报错 在properties配置文件中filters中有体现 -->
        <dependency>
            <groupid>log4j</groupid>
            <artifactid>log4j</artifactid>
            <version>1.2.17</version>
        </dependency>

4.添加文件

application.yml或者application.properties文件中添加(两者文件本质上是相同的,建议采用yml文件)

#数据库连接池druid配置
spring:
  #数据源
  datasource:
    #1.jdbc
    type: com.alibaba.druid.pool.druiddatasource
    #驱动类
    driver-class-name: com.mysql.cj.jdbc.driver
    url: jdbc:mysql://localhost:3306/t263?useunicode=true&characterencoding=utf8&servertimezone=gmt%2b8&usessl=false
    username: root
    password: 123
    druid:
      #2.连接池配置
      #初始化连接池的连接数量 大小,最小,最大
      initial-size: 5
      min-idle: 5
      max-active: 20
      #配置获取连接等待超时的时间
      max-wait: 60000
      #配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      time-between-eviction-runs-millis: 60000
      # 配置一个连接在池中最小生存的时间,单位是毫秒
      min-evictable-idle-time-millis: 30000
      validation-query: select 1 from dual
      test-while-idle: true
      test-on-borrow: true
      test-on-return: false
      # 是否缓存preparedstatement,也就是pscache  官方建议mysql下建议关闭   个人建议如果想用sql防火墙 建议打开
      pool-prepared-statements: true
      max-pool-prepared-statement-per-connection-size: 20
      # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
      filter:
        stat:
          merge-sql: true
          slow-sql-millis: 5000
      #3.基础监控配置
      web-stat-filter:
        enabled: true
        url-pattern: /*
        #设置不统计哪些url
        exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*"
        session-stat-enable: true
        session-stat-max-count: 100
      stat-view-servlet:
        enabled: true
        url-pattern: /druid/*
        reset-enable: true
        #设置监控页面的登录名和密码
        login-username: admin
        login-password: admin
        allow: 127.0.0.1

到此这篇关于springboot中加入druid连接池的文章就介绍到这了,更多相关springboot中加入druid连接池内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!