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

相关推荐
czhc11400756631 小时前
JAVA1026 方法;类:抽象类、抽象类继承;接口、接口继承 Linux:Mysql
java·linux·mysql
一 乐1 小时前
宠物管理|宠物店管理|基于SSM+vue的宠物店管理系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·毕设·宠物
gAlAxy...2 小时前
面试JAVASE基础(五)——Java 集合体系
java·python·面试·1024程序员节
ceclar1232 小时前
C++容器list
java·c++·list
张较瘦_2 小时前
[论文阅读] 从 5MB 到 1.6GB 数据:Java/Scala/Python 在 Spark 中的性能表现全解析
java·python·scala
Han.miracle2 小时前
数据库圣经-----最终章JDBC
java·数据库·学习·maven·database
艾菜籽3 小时前
MyBatis操作数据库入门
java·数据库·mybatis
zfoo-framework3 小时前
使用VisualVM进行java性能瓶颈定位 1.无需像JProfiler那样必须加启动参数???
java
bug攻城狮3 小时前
Spring Boot 2.6+ 整合 PageHelper 启动报错:循环依赖解决方案全解析
java·spring boot·后端
好学且牛逼的马4 小时前
MyBatis-Plus的深度解析
java