SpringBoot如何打印mybatis的执行sql问题

 更新时间:2023年03月31日 09:40:36   作者:华大哥  
这篇文章主要介绍了SpringBoot如何打印mybatis的执行sql问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

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就会在控制台输出了,建议用第一种方式。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论