SpringBoot打印mybatis的执行sql
1、使用场景
应为在开发过程之中跟踪后端SQL语句,因什么原因导致的错误。需要在Debug过程之中打印出执行的SQL语句。所以需要配置一下SpringBoot之中,Mybatis打印SQL语句。
2、具体实现
application.properties(yml)中配置的两种方式:
- 1. logging.level.dao包名(dao package)=debug
- 2. mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
2.1、方案一 打印所有mybatis SQL
一下是yaml文件配置,properties文件翻译一下即可
mybatis
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
2.2、指定mapper文件所在的包
logging:
level:
cn.com.demos.*.mapper: trace # 改成你的mapper文件所在包路径
比如我采用第二种方式如下:
application.yml中 mybatis配置修改如下:
可以看到执行的效果如下:
SpringBoot开启mybatis的sql打印
java项目本地调试时,为了方便更加直观的查看跟数据库交互的具体情况,有些时候需要进行sql打印。
解决方案
方案 一:
springboot在默认情况下是不开启mybatis日志输出的,需要手动配置开启debug级别打印。
由于SpringBoot默认已经引入了spring-boot-starter-logging,所以只需配置即可,如下:
logging.level.cn.com.**.web.mapper=debug
说明:“cn.com.**.web.mapper”为mapper包路径。
方案 二:
增加log配置
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl
配置后,mybatis发送的sql就会在控制台输出了,建议用第一种方式。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。