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

相关推荐
一颗青果2 分钟前
auto | 尾置返回类型 | decltype | using | typedef
java·开发语言·算法
小王不爱笑13219 分钟前
SpringBoot 配置文件
java·spring boot·后端
江君是实在人25 分钟前
java jvm 调优
java·开发语言·jvm
小马爱打代码29 分钟前
MyBatis:反射模块详解
mybatis
阿崽meitoufa40 分钟前
JVM虚拟机:垃圾收集算法
java·jvm·算法
数电发票API43 分钟前
线上充值自动开票攻略:四步落地,告别人工低效内耗
java
想用offer打牌1 小时前
Spring AI vs Spring AI Alibaba
java·人工智能·后端·spring·系统架构
顾北121 小时前
Java接入阿里百炼大模型实战指南
java·ai
毕设源码-郭学长1 小时前
【开题答辩全过程】以 高校水电表缴费系统的设计与实现为例,包含答辩的问题和答案
java
win x1 小时前
网络通信协议 第一部
java·网络协议