当前位置: 首页 > article >正文

Spring Boot集成Mybatis中如何显示日志

在Spring Boot集成Mybatis的项目中,如果出现SQL语句执行问题,我们需要进行排查。此时就需要打印对应的SQL语句,那么该如何操作才能正常打印出对应的SQL语句呢?

其实操作非常简单,在application.properties或application.yml文件中配置对应mapper所在包的日志级别即可。

示例如下:

logging.level.com.secbro.mapper=debug

其中“logging.level.”为前缀,“com.secbro.mapper”为Mapper接口所在的包路径。对应的value值为日志的级别。

此时,再执行查询程序,就会打印出对应的SQL日志信息来。

对应的Mapper文件比如:

package com.secbro.mapper;

import com.secbro.model.Order;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * @author sec
 * @version 1.0
 * @date 2020/3/1 10:01 AM
 **/
public interface OrderMapper {

	/**
	 * 更新订单
	 *
	 * @param order 订单信息
	 * @return 记录数
	 */
	@Update("UPDATE tb_order SET order_no = #{orderNo},amount = #{amount} WHERE id =#{id}")
	int update(Order order);
}

注意package的路径对照。

添加debug打印之后,执行一条单元测试,对应的日志信息如下:

2020-04-02 21:43:39.466  INFO 92784 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2020-04-02 21:43:39.869  INFO 92784 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2020-04-02 21:43:39.881 DEBUG 92784 --- [           main] com.secbro.mapper.OrderMapper.update     : ==>  Preparing: UPDATE tb_order SET order_no = ?,amount = ? WHERE id =? 
2020-04-02 21:43:39.917 DEBUG 92784 --- [           main] com.secbro.mapper.OrderMapper.update     : ==> Parameters: N001(String), 8888(Integer), 1(Integer)
2020-04-02 21:43:39.921 DEBUG 92784 --- [           main] com.secbro.mapper.OrderMapper.update     : <==    Updates: 1

2020-04-02 21:43:39.939  INFO 92784 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2020-04-02 21:43:39.940  INFO 92784 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2020-04-02 21:43:39.949  INFO 92784 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.

其中,我们可以很清楚的看到对应的SQL语句,参数以及执行结果。


http://www.kler.cn/a/585058.html

相关文章:

  • AutoGen学习笔记系列(十一)Advanced - Magentic-One
  • LeetCode27移除元素
  • 学习路之TP6 --定制workman命令
  • Java×c艹py
  • SpringBoot 根据配置前缀绑定配置:@ConfigurationProperties
  • Python学习第十三天
  • 第三百七十五节 JavaFX教程 - JavaFX表视图
  • 【氮化镓】开态GaN HEMTs中氧诱导Vth漂移的缺陷演化
  • 【Go学习】04-4-Gorm框架-增删改查事务钩子
  • Redis 源码分析-内部数据结构 ziplist
  • React hook钩子性能优化Hooks的面试常考题目
  • SQL29 计算用户的平均次日留存率
  • 前端面试:React hooks 调用是可以写在 if 语句里面吗?
  • 2025-03-13 学习记录--C/C++-PTA 练习2-9 整数四则运算
  • 十五、Vue 与 Webpack 5:优化构建性能的实用技巧
  • 【Android】Android 悬浮窗开发 ( 动态权限请求 | 前台服务和通知 | 悬浮窗创建 )
  • Maple网络浮动版安装|添加新版本授权到已有授权服务器
  • VMware虚拟机网络连接模式介绍以及nat模式访问公网实践
  • css实现标题跑马灯效果
  • 区块链实战:手把手教你搭建私有链网络