温馨提示×

温馨提示×

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

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

java mybatis如何打印日志

发布时间:2026-10-14 00:51:41 来源:亿速云 阅读:100 作者:小樊 栏目:编程语言

在 Java + MyBatis 中,打印 SQL 日志常见有几种方式,下面按「最常用 → 进阶」给你总结。


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

MyBatis 支持多种日志实现,默认会自动查找:

  • SLF4J
  • LOG4J
  • LOG4J2
  • JDK Logging
  • STDOUT_LOGGING(控制台)

1️⃣ 使用 STDOUT_LOGGING(无需额外依赖)

mybatis-config.xml

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

✅ 效果:

==>  Preparing: SELECT * FROM user WHERE id = ?
==> Parameters: 1(Integer)
<==      Total: 1

二、使用 Log4j / Log4j2 / SLF4J(推荐)

2️⃣ 使用 Logback(Spring Boot 常用)

application.yml

logging:
  level:
    com.example.mapper: debug

或 logback.xml

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

✅ 会打印:

  • SQL
  • 参数
  • 返回结果

3️⃣ 使用 Log4j2

mybatis-config.xml

<settings>
    <setting name="logImpl" value="LOG4J2"/>
</settings>

log4j2.xml

<Logger name="com.example.mapper" level="debug"/>

三、Spring Boot 项目(最常见)

✅ 方式一(推荐)

mybatis:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

或

logging:
  level:
    com.xxx.mapper: debug

四、只打印 SQL,不打印结果(细粒度)

logging:
  level:
    org.apache.ibatis: DEBUG
    org.mybatis: DEBUG

五、常见问题

❓ 日志不打印?

  • mapper 包路径写错
  • 日志框架冲突(SLF4J 多个实现)
  • 没加 @MapperScan

❓ 想看参数值?

必须 DEBUG 级别


六、推荐方案 ✅

场景 推荐
学习 / 测试 STDOUT_LOGGING
Spring Boot SLF4J + DEBUG
生产环境 关闭或只开 ERROR

如果你用的是 Spring Boot / MyBatis-Plus / XML / 注解,可以告诉我,我给你更精确的配置。

向AI问一下细节

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

AI
助
手