【MyBatis Plus 3.5.1】3、执行SQL分析打印 p6spy【Spring Boot 环境】

该功能依赖 p6spy 组件,完美的输出打印 SQL 及执行时长 3.1.0 以上版本

1、p6spy 依赖引入

<dependency>
  <groupId>p6spygroupId>
  <artifactId>p6spyartifactId>
  <version>最新版本version>
dependency>

2、application.yml 配置

spring:
  # 数据源
  datasource:
    username: root
    password: 123456
    # GMT%2B8:GMT+8 格林尼治东八时区
    url: jdbc:p6spy:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver

url: jdbc:p6spy:mysql://...

3、spy.properties 配置

resources 目录下创建

#3.2.1以上使用
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
#3.2.1以下使用或者不配置
#modulelist=com.p6spy.engine.logging.P6LogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定义日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
#日志输出到控制台
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 使用日志系统记录 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 设置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前缀
useprefix=true
# 配置记录 Log 例外,可去掉的结果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 实际驱动可多个
#driverlist=org.h2.Driver
# 是否开启慢SQL记录
outagedetection=true
# 慢SQL记录标准 2 秒
outagedetectioninterval=2

4、多环境配置

该插件有性能损耗,不建议生产环境使用

  • application.yml
# 当前激活的环境
spring:
  profiles:
    active: dev


---
# 开发环境
spring:
  config:
    active:
      on-profile: dev

  # 数据源
  datasource:
    username: root
    password: 123456
    # GMT%2B8:GMT+8 格林尼治东八时区
    url: jdbc:p6spy:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver


# ...

---
# 测试环境
spring:
  config:
    active:
      on-profile: test

  # 数据源
  datasource:
    username: root
    password: 123456
    # GMT%2B8:GMT+8 格林尼治东八时区
    url: jdbc:p6spy:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    driver-class-name: com.p6spy.engine.spy.P6SpyDriver


# ...

---
# 生产环境
spring:
  config:
    activate:
      on-profile: prod

  # 数据源
  datasource:
    username: root
    password: 123456
    # GMT%2B8:GMT+8 格林尼治东八时区
    url: jdbc:mysql://localhost:3306/mybatis_plus?useSSL=true&useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
    driver-class-name: com.mysql.cj.jdbc.Driver

# ...

5、测试

开发环境

【MyBatis Plus 3.5.1】3、执行SQL分析打印 p6spy【Spring Boot 环境】_第1张图片

生产环境

# 当前激活的环境
spring:
  profiles:
    active: prod

【MyBatis Plus 3.5.1】3、执行SQL分析打印 p6spy【Spring Boot 环境】_第2张图片

你可能感兴趣的:(Spring系列,数据库,spring,boot,sql,mysql)