首页 > 文章列表 > SpringBoot怎么打印mybatis的执行sql问题

SpringBoot怎么打印mybatis的执行sql问题

mybatis SQL springboot
460 2023-05-20

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