Mybatis开发辅助神器p6spy

Mybatis什么都好,就是不能打印完整的SQL语句,虽然可以根据数据来判断一二,但始终不能直观的看到实际语句。这对我们想用完整语句去数据库里执行,带来了不便。
怎么说呢不管用其他什么方式来实现完整语句,都始终不是Mybatis真实的语句替换。Mybatis自己不做这事,那就只能自己实现了,然而实现的结果却不是那么准确。
这款p6spy算是里面专业一点的。

p6spy打印完整Mybatis的SQL语句

pom.xml


<dependency>
   <groupId>p6spygroupId>
   <artifactId>p6spyartifactId>
   <version>3.9.0version>
   <scope>providedscope>
dependency>

application.yml

spring:
  datasource:
    ##================================================
   type: com.zaxxer.hikari.HikariDataSource
   driver-class-name: com.p6spy.engine.spy.P6SpyDriver
   url: jdbc:p6spy:mysql://localhost:3306/ry?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false
   username: root
   password: 123

spy.properties

modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,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

Mybatis开发辅助神器p6spy_第1张图片

p6spy 建议在开发环境使用,生产不使用。

(1)数据源配置放在application-dev.yml

(2)依赖scope用provided类型。

(3)spy.properties就放着不影响

你可能感兴趣的:(实用案例,mybatis)