mybatis-plus 不打印 row
时间: 2025-02-02 18:58:02 浏览: 53
### 解决 MyBatis-Plus 不打印 SQL 执行行数
为了使 MyBatis-Plus 能够正常打印 SQL 语句及其执行行数,配置日志记录级别至关重要。默认情况下,MyBatis-Plus 使用 Log4j 或其他兼容的日志框架来处理日志输出[^3]。
#### 配置 Log4j 输出 SQL 和影响行数
通过调整 `log4j.properties` 文件中的设置,可以确保不仅 SQL 语句被记录下来,而且每次操作所影响的行数也会一同显示:
```properties
# 设置全局日志等级为 ERROR, 只有更严重的错误才会被记录.
log4j.rootLogger=ERROR, stdout
# 特定于 MyBatis-Plus 的包名应设为 DEBUG 级别以便捕获所有的 SQL 日志信息.
log4j.logger.com.baomidou.mybatisplus=DEBUG
```
上述配置使得来自 `com.baomidou.mybatisplus` 包下的所有消息将以调试模式被捕获并展示出来,这通常包含了完整的 SQL 文本以及事务提交后的受影响行数统计。
另外,在应用程序启动类或主函数中加入如下代码片段可以帮助进一步确认当前环境是否已正确定向到预期的日志实现:
```java
import org.apache.ibatis.logging.LogFactory;
public class Application {
public static void main(String[] args) {
System.setProperty(LogFactory.DEFAULT_LOG_IMPLEMENTATION_PROPERTY_NAME, "SLF4J");
SpringApplication.run(Application.class, args);
}
}
```
这段 Java 代码指定了 MyBatis 应该使用的具体日志工厂,默认情况下会选择 SLF4J 实现,从而允许更加灵活地管理不同级别的日志输出[^2]。
对于 Spring Boot 用户来说,还可以直接编辑 application.yml 来简化这一过程:
```yaml
logging:
level:
com.baomidou.mybatisplus: debug
```
此 YAML 配置同样达到了将特定路径下产生的日志设定为 DEBUG 级别的效果,进而保证了 SQL 查询及相关元数据能够顺利呈现给开发者查看。
阅读全文
相关推荐


















