springboot集成mybatis 控制打印sql语句,不打印执行结果集

本文介绍了如何在SpringBoot项目中配置Mybatis,仅打印SQL语句而不打印执行结果集。关键在于调整mapper包的日志级别,通过在log4j.properties文件中设置log4j.logger.com.fx.mapper=DEBUG,这样可以避免输出执行结果集的TRACE级别日志。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决办法

mapper 包日志级别设置为DEBUG

原因:

  • Mybatis是用Mapper类的全路径名,作为logger的名称的。
  • Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。

下边是笔者的打印日志

 1 [INFO ] [17:47:14] com.fx.interceptors.ScreenHostInterceptor.preHandle - Request Method Is:public java.lang.Object com.fx.controller.LoginController.showCurrentUser(javax.servlet.http.HttpServletRequest)
 2 [INFO ] [17:47:14] com.fx.interceptors.ScreenHostInterceptor.preHandle - The Request Method Is:GET
 3 [DEBUG] [17:47:18] com.fx.mapper.MyTestMapper.findAll.debug - ==>  Preparing: select * from my_test; 
 4 [DEBUG] [17:47:19] com.fx.mapper.MyTestMapper.findAll.debug - ==> Parameters: 
 5 [TRACE] [17:47:19] com.fx.mapper.MyTestMapper.findAll.trace - <==    Columns: id, name, age, gender
 6 [TRACE] [17:47:19] com.fx.mapper.MyTestMapper.findAll.trace - <==        Row: 1, 测试事务mybatis, null, male
 7 [TRACE] [17:47:19] com.fx.mapper.MyTestMapper.findAll.trace - <==        Row: 2, 测试事务jpa, null, female
 8 [TRACE] [17:47:19] com.fx.mapper.MyTestMapper.findAll.trace - <==        Row: 4, tom, 4, male
 9 [TRACE] [17:47:19] com.fx.mapper.MyTestMapper.findAll.trace - <==        Row: 5, hony, 5, male
10 [DEBUG] [17:47:19] com.fx.mapper.MyTestMapper.findAll.debug - <==      Total: 4

第3,4行为DEBUG级别日志  6到10行为TRACE级别日志

 

比如mapper类所在包名为com.fx.mapper

如果只是想输出sql语句

则在log4j.properties文件里配置

log4j.logger.com.fx.mapper=DEBUG

如果既需要打印sql语句也需要打印sql执行结果集则修改日志级别为TRACE

log4j.logger.com.fx.mapper=TRACE

参考资源 https://bglmmz.iteye.com/blog/2154563

转载于:https://www.cnblogs.com/imfx/p/11139849.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值