温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java mybatis怎么打印日志

发布时间:2026-09-23 05:59:29 来源:亿速云 阅读:95 作者:小樊 栏目:编程语言

Java + MyBatis 中,打印 SQL 日志常见有 三种方式,按使用频率从高到低说明:


一、使用 MyBatis 自带日志(推荐,最简单)

MyBatis 内部支持多种日志框架,只要项目中存在以下任一日志实现,就会自动使用:

  • SLF4J ✅(最常用)
  • Log4j2
  • Logback
  • Commons Logging
  • JDK Logging

1️⃣ 使用 Logback(Spring Boot 默认)

依赖(Spring Boot 已包含)

<dependency>
    <groupId>ch.qos.logback</groupId>
    <artifactId>logback-classic</artifactId>
</dependency>

logback.xml 配置

<logger name="com.xxx.mapper" level="DEBUG"/>

➡ 打印 SQL + 参数


二、配置 MyBatis 日志实现(非 Boot 项目)

mybatis-config.xml

<configuration>
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>
</configuration>

✅ 会直接打印到控制台
❌ 不够灵活(不能控制级别)


三、Spring Boot 配置方式(最常用)

application.yml

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

五、常见问题

❓ 只打印 SQL,不打印参数?

  • 确保是 DEBUG 级别
  • 日志包名指向 Mapper 接口包

❓ MyBatis-Plus?

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 / 特定日志框架,告诉我我可以给你精确配置。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI