springboot mybatis日志打印完整sql
时间: 2025-03-29 17:16:49 浏览: 49
### 如何在 Spring Boot 中使用 MyBatis 打印完整 SQL 日志
要在 Spring Boot 项目中配置 MyBatis 来打印完整的 SQL 日志,可以通过调整 `application.properties` 文件中的日志级别以及引入合适的依赖来实现。
#### 1. 添加必要的依赖
为了支持 MyBatis 和其日志功能,在项目的 `pom.xml` 文件中需加入以下依赖项:
```xml
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.3.0</version>
</dependency>
<!-- 如果未默认包含logback,则手动添加 -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
```
上述代码片段展示了如何引入 `mybatis-spring-boot-starter`[^2] 及 Logback 支持的日志框架。
#### 2. 配置 application.properties 文件
通过修改 `application.properties` 文件可以启用调试模式并显示详细的 SQL 查询信息。以下是具体的配置参数:
```properties
# 设置Mapper接口所在的包路径下的日志等级为DEBUG
logging.level.com.example.mapper=debug
# (可选)如果需要更细粒度的控制,也可以指定特定Mapper类名
logging.level.com.example.mapper.UserMapper=trace
```
这里设置了 Mapper 接口所在包的日志级别为 `debug`,从而能够捕获到执行的 SQL 语句及其绑定参数[^4]。
#### 3. 使用Logback自定义日志格式(可选)
对于希望进一步美化或者过滤输出内容的情况,可以在 `src/main/resources/logback-spring.xml` 定义个性化规则:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- 控制台输出 -->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 设定MyBatis相关Logger -->
<logger name="com.example.mapper" level="DEBUG"/>
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
```
此部分允许开发者更加灵活地管理不同模块产生的日志数据[^1]。
完成以上步骤之后,当应用程序运行时,所有的SQL查询都会被记录下来,并且会连同实际传入数据库的具体值一同展示出来[^3]。
---
阅读全文
相关推荐


















