在 Java + MyBatis 中,打印 SQL 日志常见有 三种方式,按使用频率从高到低说明:
MyBatis 内部支持多种日志框架,只要项目中存在以下任一日志实现,就会自动使用:
依赖(Spring Boot 已包含)
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
logback.xml 配置
<logger name="com.xxx.mapper" level="DEBUG"/>
➡ 打印 SQL + 参数
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>
✅ 会直接打印到控制台
❌ 不够灵活(不能控制级别)
logging:
level:
com.xxx.mapper: debug
或
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
开启 DEBUG 后,你会看到:
==> Preparing: SELECT * FROM user WHERE id = ?
==> Parameters: 1(Integer)
<== Total: 1
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
| 场景 | 推荐方式 |
|---|---|
| Spring Boot | logging.level.com.xxx.mapper=debug |
| 原生 MyBatis | logImpl=STDOUT_LOGGING |
| 生产环境 | SLF4J + Logback |
如果你用的是 MyBatis-Plus / Spring Boot / 特定日志框架,告诉我我可以给你精确配置。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。