Java:使用spring-boot + mybatis如何打印SQL日志?

1、pom.xml引入mybatis-spring-boot

XML 复制代码
<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>2.1.4</version>
</dependency>

2、application.yaml添加log实现

XML 复制代码
mybatis:
  configuration:
    logImpl: org.apache.ibatis.logging.slf4j.Slf4jImpl

除了slf4j外还有其它的日志库可以用,支持的日志库可以在org.apache.ibatis.logging下找到。

3、logback.xml添加appender

XML 复制代码
<logger name="com.example.dao" level="debug" additivity="false">
   <appender-ref ref="fileAppender" />
</logger>

如果底层使用的是logback,则需要添加以上配置。

其中com.example.dao是*.mapper.xml文件中namespace的前缀。这样mapper文件中namespace凡是以com.example.dao开头的,都会转出到文件中。

*.mapper.xml文件举例如下:

XML 复制代码
<mapper namespace="com.example.dao.apiDao">

   <select id="queryList" resultType="...">
      select * from api_info
   </select>

</mapper>

每个SQL都会生成一个StatementLog,它是在org.apache.ibatis.mapping.MappedStatement中创建的。

4、输出的结果

==> Preparing: select * from api_info

==> Parameters:

<== Total: 10

相关推荐
dvjr cloi14 分钟前
Spring Framework 中文官方文档
java·后端·spring
研究点啥好呢15 分钟前
滴滴Go后端开发工程师面试题精选:10道高频考题+答案解析
java·开发语言·golang
ictI CABL26 分钟前
SpringBoot3.3.0集成Knife4j4.5.0实战
java
傻瓜搬砖人30 分钟前
SpringMVC的请求
java·前端·javascript·spring
亚历克斯神31 分钟前
Java 开发者 2026 成长路线图:从初级到架构师
java·spring·微服务
佛系彭哥33 分钟前
用飞算JavaAI做项目:在线图书借阅平台设计与实现
java·飞算javaai炫技赛
亚历克斯神35 分钟前
Java 代码质量保障:静态分析与代码审查实践
java·spring·微服务
一叶飘零_sweeeet37 分钟前
2026 年 Java 面试必问:Spring AI 核心原理,90% 人答不全
java·面试·spring ai
星河耀银海37 分钟前
JAVA 泛型与通配符:从原理到实战应用
android·java·服务器
咱那飘逸的长发39 分钟前
Trae java项目配置全局maven和jdk
java·python·maven