Springboot+Druid+Mybatis 配置Sql监控

第一步导jar包:


    com.alibaba
    druid-spring-boot-starter
    1.1.9


    org.springframework.boot
    spring-boot-starter-jdbc



    org.mybatis.spring.boot
    mybatis-spring-boot-starter
    2.0.1

 

yml里添加配置:

注:springboot2.0以后默认集成成HikariCP连接池

在yml里 配置druid连接池 和mybatis

 

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/mrrong?characterEncoding=UTF-8
    username: root
    password: root
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    platform: mysql
    # 下面为连接池的补充设置,应用到上面所有数据源中
    # 初始化大小,最小,最大
    initialSize: 5
    minIdle: 3
    maxActive: 20
    # 配置获取连接等待超时的时间
    maxWait: 60000
    # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    timeBetweenEvictionRunsMillis: 60000
    # 配置一个连接在池中最小生存的时间,单位是毫秒
    minEvictableIdleTimeMillis: 30000
    validationQuery: select 'x'
    testWhileIdle: true
    testOnBorrow: false
    testOnReturn: false
    # 打开PSCache,并且指定每个连接上PSCache的大小
    poolPreparedStatements: true
    maxPoolPreparedStatementPerConnectionSize: 20
    # 配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙
    filters: stat,wall,logback
    # 通过connectProperties属性来打开mergeSql功能;慢SQL记录
    connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
    # 合并多个DruidDataSource的监控数据
    #useGlobalDataSourceStat: true


mybatis:
  mapper-locations: classpath:mapper/*.xml
  type-aliases-package: com.example.springbootMybatis.system.model;com.example.springbootMybatis.order.model

 

配置servlet以及Filter:

创建 DruidStatFilter.java

package com.jk.utils;

import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;

import com.alibaba.druid.support.http.WebStatFilter;

@WebFilter(filterName="druidWebStatFilter",urlPatterns="/*",
        initParams={
                @WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico,/druid/*")//忽略资源
        }
)
public class DruidStatFilter extends WebStatFilter{
}

创建 DruidStatViewServlet

@WebServlet(urlPatterns="/druid/*",

initParams={

@WebInitParam(name="allow",value=""),// IP白名单(没有配置或者为空,则允许所有访问)

/* @WebInitParam(name="deny",value="192.168.188.130"),*/// IP黑名单 (存在共同时,deny优先于allow)

@WebInitParam(name="loginUsername",value="admin"),// 用户名

@WebInitParam(name="loginPassword",value="123456"),// 密码

@WebInitParam(name="resetEnable",value="false")// 禁用HTML页面上的“Reset All”功能

})

public class DruidStatViewServlet extends StatViewServlet {
    private static final long serialVersionUID = -2688872071445249539L;
}

 

然后在启动类上加入下面两个注解指向

@MapperScan("com.jk.mapper")
@ServletComponentScan("com.jk.utils")

 

 

 

最后访问:localhost:****/druid

Springboot+Druid+Mybatis 配置Sql监控_第1张图片

 

你可能感兴趣的:(Springboot+Druid+Mybatis 配置Sql监控)