在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语句,参数以及执行结果。
到此这篇关于Spring Boot集成Mybatis中如何显示日志的实现的文章就介绍到这了,更多相关Spring Boot Mybatis显示日志内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍SpringBoot项目集成日志的实现方法,包括了SpringBoot项目集成日志的实现方法的使用技巧和注意事项,需要的朋友参考一下 SpringBoot使用Commons Logging进行所有内部日志记录,但保留底层日志实现。默认提供了Java Util Logging, Log4j2 和Logback日志配置。在每种情况下,都预先配置为使用控制台输出,并且还提供了可选的文件输出
本文向大家介绍浅谈SpringBoot是如何实现日志的,包括了浅谈SpringBoot是如何实现日志的的使用技巧和注意事项,需要的朋友参考一下 前言 休息日闲着无聊看了下 SpringBoot 中的日志实现,把我的理解跟大家说下。 门面模式 说到日志框架不得不说门面模式。门面模式,其核心为外部与一个子系统的通信必须通过一个统一的外观对象进行,使得子系统更易于使用。用一张图来表示门面模式的结构为:
本文向大家介绍SpringBoot应用整合ELK实现日志收集的示例代码,包括了SpringBoot应用整合ELK实现日志收集的示例代码的使用技巧和注意事项,需要的朋友参考一下 ELK即Elasticsearch、Logstash、Kibana,组合起来可以搭建线上日志系统,本文主要讲解使用ELK来收集SpringBoot应用产生的日志。 ELK中各个服务的作用 Elasticsearch:用于存储
问题内容: 我在应用程序中使用JUL。通常,Netbeans打开一个输出选项卡,该选项卡显示“ Tomcat”并显示我生成的日志。运行正常。但是突然间,我意识到我的日志根本没有显示,只有打印出来。甚至都不是最热情的人。 我怀疑这可能是我包含的图书馆,这使我的日志混乱了。那有可能吗?图书馆可以改变我的日志显示方式吗?由于我有点迷路,我该如何调查? 问题答案: 我怀疑这可能是我包含的图书馆,这使我的日
本文向大家介绍SpringBoot集成MyBatis的分页插件PageHelper实例代码,包括了SpringBoot集成MyBatis的分页插件PageHelper实例代码的使用技巧和注意事项,需要的朋友参考一下 昨天给各位总结了本人学习springboot整合mybatis第一阶段的一些学习心得和源码,主要就算是敲了一下SpringBoot的门儿,希望能给各位的入门带给一点儿捷径,今天给各位温
我刚拿到一台新的索尼Xperia XA,在这台设备上发现了一个奇怪的问题。它没有显示任何详细的调试日志。我尝试了Android Studio中的每个设置,使用adb logcat检查Android Studio是否只是过滤它们。我甚至使用了不同的电缆。我没主意了,请帮帮我。