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

相关推荐
超浪的晨6 分钟前
JavaWeb 入门:JavaScript 基础与实战详解(Java 开发者视角)
java·开发语言·前端·javascript·后端·学习·个人开发
Jonariguez19 分钟前
Mybatis
数据库·oracle·mybatis
半新半旧30 分钟前
Python的垃圾回收机制
java
越来越无动于衷1 小时前
企业信息管理系统开发实战:基于 Spring Boot+MyBatis+Thymeleaf
spring boot·后端·mybatis
hhua01232 小时前
MyBatis 的两级缓存机制
缓存·mybatis
一枚小小程序员哈2 小时前
基于springboot的零食商城的设计与实现/零食销售系统的设计与实现
java·spring boot·spring·tomcat·maven
qqxhb2 小时前
零基础数据结构与算法——第六章:算法设计范式与高级主题-设计技巧(上)
java·数据结构·算法·分解·空间换时间·时空平衡
野生技术架构师3 小时前
系统改造:一次系统领域拆分的实战复盘
java·大数据·开发语言
一碗绿豆汤3 小时前
JAVA+AI教程-第四天
java·开发语言·人工智能
YuTaoShao3 小时前
【LeetCode 热题 100】34. 在排序数组中查找元素的第一个和最后一个位置——二分查找
java·数据结构·算法·leetcode