springboot不打印mybatis sql
时间: 2023-05-08 14:58:50 浏览: 180
在使用SpringBoot和Mybatis的时候,我们有时候需要打印出SQL语句进行调试或者查看,但有时候我们发现即使开启了日志级别为DEBUG的打印,也不能看到任何SQL语句的输出。这可能是由于以下几个原因导致的:
1.没有配置MyBatis的日志实现类
MyBatis的日志实现类有多种选择,比如Log4j、Log4j2、Slf4j等,如果没有在我们的配置文件中明确指定使用哪种日志实现类的话,就会按照默认方式进行打印,也就是不打印SQL语句。
解决办法:在配置文件中指定MyBatis的日志实现类,如下:
```
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
```
2.日志级别过低
很多时候我们可能只是开启了INFO级别的日志输出,在这种情况下,MyBatis默认不会打印SQL语句。
解决办法:将日志级别设置为DEBUG,即可输出SQL语句,如下:
```
logging:
level:
root: DEBUG
```
3.未启用MyBatis的日志功能
默认情况下,MyBatis是不会输出SQL语句的,我们需要在配置文件中特别开启它的日志输出功能。
解决办法:在配置文件中开启MyBatis的日志功能,如下:
```
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
log-statement: true
```
总结:通过配置MyBatis的日志实现类、将日志级别设为DEBUG、启用MyBatis的日志功能等措施,我们可以解决SpringBoot不打印MyBatis SQL语句的问题。
阅读全文