Spring Boot集成Mybatis中如何显示日志的实现
在SpringBoot集成Mybatis的项目中,如果出现SQL语句执行问题,我们需要进行排查。此时就需要打印对应的SQL语句,那么该如何操作才能正常打印出对应的SQL语句呢?
其实操作非常简单,在application.properties或application.yml文件中配置对应mapper所在包的日志级别即可。
示例如下:
logging.level.com.secbro.mapper=debug
其中“logging.level.”为前缀,“com.secbro.mapper”为Mapper接口所在的包路径。对应的value值为日志的级别。
此时,再执行查询程序,就会打印出对应的SQL日志信息来。
对应的Mapper文件比如:
packagecom.secbro.mapper; importcom.secbro.model.Order; importorg.apache.ibatis.annotations.*; importjava.util.List; /** *@authorsec *@version1.0 *@date2020/3/110:01AM **/ publicinterfaceOrderMapper{ /** *更新订单 * *@paramorder订单信息 *@return记录数 */ @Update("UPDATEtb_orderSETorder_no=#{orderNo},amount=#{amount}WHEREid=#{id}") intupdate(Orderorder); }
注意package的路径对照。
添加debug打印之后,执行一条单元测试,对应的日志信息如下:
2020-04-0221:43:39.466INFO92784---[main]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Starting... 2020-04-0221:43:39.869INFO92784---[main]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Startcompleted. 2020-04-0221:43:39.881DEBUG92784---[main]com.secbro.mapper.OrderMapper.update:==>Preparing:UPDATEtb_orderSETorder_no=?,amount=?WHEREid=? 2020-04-0221:43:39.917DEBUG92784---[main]com.secbro.mapper.OrderMapper.update:==>Parameters:N001(String),8888(Integer),1(Integer) 2020-04-0221:43:39.921DEBUG92784---[main]com.secbro.mapper.OrderMapper.update:<==Updates:1 2020-04-0221:43:39.939INFO92784---[extShutdownHook]o.s.s.concurrent.ThreadPoolTaskExecutor:ShuttingdownExecutorService'applicationTaskExecutor' 2020-04-0221:43:39.940INFO92784---[extShutdownHook]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Shutdowninitiated... 2020-04-0221:43:39.949INFO92784---[extShutdownHook]com.zaxxer.hikari.HikariDataSource:HikariPool-1-Shutdowncompleted.
其中,我们可以很清楚的看到对应的SQL语句,参数以及执行结果。
到此这篇关于SpringBoot集成Mybatis中如何显示日志的实现的文章就介绍到这了,更多相关SpringBootMybatis显示日志内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!