- 项目创建
- POM依赖
<!-- https://mvnrepository.com/artifact/p6spy/p6spy --> <dependency> <groupId>p6spy</groupId> <artifactId>p6spy</artifactId> <version>3.9.1</version> </dependency>
- YML配置
spring: datasource: driver-class-name: com.p6spy.engine.spy.P6SpyDriver url: jdbc:p6spy:mysql://localhost:3306/mybatis-plus username: root password: 123456
1.driver-class-name 为 p6spy 提供的驱动类 2.url 前缀为 jdbc:p6spy 跟着冒号为对应数据库连接地址
- SPY配置
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=com.mysql.cj.jdbc.Driver # 是否开启慢SQL记录 outagedetection=true # 慢SQL记录标准 2 秒 outagedetectioninterval=2
1.打印出 sql 为 null,在 excludecategories 增加 commit 2.批量操作不打印 sql,去除 excludecategories 中的 batch 3.批量操作打印重复的问题请使用 MybatisPlusLogFactory (3.2.1 新增) 4.该插件有性能损耗,不建议生产环境使用 5.spy.properties路径:src/main/resources/spy.properties
- SQL打印
添加用户:http://localhost:8080/user/create
查询所有用户:http://localhost:8080/user/getAll
查询一个用户:http://localhost:8080/user/get
删除所有用户:http://localhost:8080/user/deleteAll
SQL打印分析如下: