天天看点

Springboot集成Druid详解Springboot集成Druid详解

Springboot集成Druid详解

步骤

  1. 引入依赖
  2. 在application.yml文件中添加配置

springboot最近出了一个与Druid整合的依赖druid-spring-boot-starter

https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter

在POM文件中引入依赖

<!--添加Druid数据源依赖-->
<!-- https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.1.6</version>
</dependency>
           
Springboot集成Druid详解Springboot集成Druid详解

在applicatio.yml文件中添加配置

具体的配置项大家可以参考这篇文章https://www.cnblogs.com/wuyun-blog/p/5679073.html

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:/hrm_db
      username: root                                      #数据库用户名
      password:                                     #数据库密码
      db-type: com.alibaba.druid.pool.DruidDataSource     #数据源类型启用Druid
      driver-class-name: com.mysql.jdbc.Driver            #驱动
      filters: stat                                       #属性类型是字符串,通过别名的方式配置扩展插件,常用的插件有:监控统计用的filter:stat日志用的filter:log4j防御sql注入的filter:wall
      max-active:                                       #最大连接池数量
      initial-size:                                      #初始化时建立物理连接的个数。初始化发生在显示调用init方法,或者第一次getConnection时
      max-wait:                                      #获取连接时最大等待时间,单位毫秒
      min-idle: 
      time-between-eviction-runs-millis:             #1) Destroy线程会检测连接的间隔时间2) testWhileIdle的判断依据,详细看testWhileIdle属性的说明
      min-evictable-idle-time-millis: 
      validation-query: select 'x'                        #用来检测连接是否有效的sql,要求是一个查询语句。如果validationQuery为null,testOnBorrow、testOnReturn、testWhileIdle都不会其作用。
      test-while-idle: true                               #建议配置为true,不影响性能,并且保证安全性。申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
      test-on-return: false                               #归还连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能
      test-on-borrow: false                               #申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
      pool-prepared-statements: false                     #是否缓存preparedStatement,也就是PSCache。PSCache对支持游标的数据库性能提升巨大,比如说oracle。在mysql下建议关闭。
      max-open-prepared-statements:                     #要启用PSCache,必须配置大于0,当大于0时,poolPreparedStatements自动触发修改为true。在Druid中,不会存在Oracle下PSCache占用内存过多的问题,可以把这个数值配置大一些,比如说100
      stat-view-servlet:
        enabled: true
        url-pattern: "/druid/*"
        login-username: admin
        login-password: admin
      web-stat-filter:
        enabled: true
        url-pattern: "/*"
        exclusions: "*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*"
      filter:
        stat:
          db-type: mysql
          log-slow-sql: true
          slow-sql-millis: 
mybatis:
  mapper-locations: classpath:mapper/*.xml
  typeAliasesPackage: com.liusl.hrm.model                 #它一般对应我们的实体类所在的包,这个时候会自动简单类名作为包括包名的别名取对应包中不包括包名的别名
           

启动服务,访问http://localhost:8080/druid/index,html

Springboot集成Druid详解Springboot集成Druid详解

大家要是想买书的话,可以加我的微信15313876221,或者qq1010893356,或者qq群376448087,比正常的要便宜,程序员你懂得,买个书动不动就100多。^-^

继续阅读