Springboot應(yīng)用中Mybatis輸出SQL日志的3種方法代碼示例
一、方法一:指定mybatis日志級(jí)別
# application.yml
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 等價(jià)于application.properties
mybatis.configuration.log-impl=org.apache.ibatis.logging.stdout.StdOutImpl二、方法二:配置mybatis-config.xml
<configuration>
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
</configuration>三、方法三:指定整個(gè)mapper包下的日志級(jí)別
# application.yml
logging:
level:
com.example.demo.mapper: debug
# 等價(jià)于application.properties
logging.level.com.example.demo.mapper=debug補(bǔ)充:Spring Boot集成Mybatis中如何顯示日志
在Spring Boot集成Mybatis的項(xiàng)目中,如果出現(xiàn)SQL語句執(zhí)行問題,我們需要進(jìn)行排查。此時(shí)就需要打印對(duì)應(yīng)的SQL語句,那么該如何操作才能正常打印出對(duì)應(yīng)的SQL語句呢?
其實(shí)操作非常簡(jiǎn)單,在application.properties或application.yml文件中配置對(duì)應(yīng)mapper所在包的日志級(jí)別即可。
示例如下:
logging.level.com.secbro.mapper=debug
其中“logging.level.”為前綴,“com.secbro.mapper”為Mapper接口所在的包路徑。對(duì)應(yīng)的value值為日志的級(jí)別。
此時(shí),再執(zhí)行查詢程序,就會(huì)打印出對(duì)應(yīng)的SQL日志信息來。
對(duì)應(yīng)的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 記錄數(shù)
*/
@Update("UPDATE tb_order SET order_no = #{orderNo},amount = #{amount} WHERE id =#{id}")
int update(Order order);
}注意package的路徑對(duì)照。
添加debug打印之后,執(zhí)行一條單元測(cè)試,對(duì)應(yīng)的日志信息如下:
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: 12020-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.
其中,我們可以很清楚的看到對(duì)應(yīng)的SQL語句,參數(shù)以及執(zhí)行結(jié)果。
總結(jié)
到此這篇關(guān)于Springboot應(yīng)用中Mybatis輸出SQL日志的3種方法的文章就介紹到這了,更多相關(guān)Springboot Mybatis輸出SQL日志內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解
- springboot下mybatis-plus開啟打印sql日志的配置指南
- springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件
- Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式
- springboot logback調(diào)整mybatis日志級(jí)別無效的解決
- springboot+mybatis配置控制臺(tái)打印sql日志的方法
- Spring Boot集成Mybatis中如何顯示日志的實(shí)現(xiàn)
- springboot整合mybatis將sql打印到日志的實(shí)例詳解
- spring?boot?mybatis日志輸出到控制臺(tái)的方法實(shí)踐
相關(guān)文章
Java介紹多線程計(jì)算階乘實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了Java多線程計(jì)算階乘的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06
java如何實(shí)現(xiàn)基于opencv全景圖合成實(shí)例代碼
全景圖相信大家應(yīng)該都不陌生,下面這篇文章主要給大家介紹了關(guān)于java如何實(shí)現(xiàn)基于opencv全景圖合成的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Spring Boot 集成 Quartz 使用Cron 表達(dá)式實(shí)現(xiàn)定
本文介紹了如何在SpringBoot項(xiàng)目中集成Quartz并使用Cron表達(dá)式進(jìn)行任務(wù)調(diào)度,通過添加Quartz依賴、創(chuàng)建Quartz任務(wù)、配置任務(wù)調(diào)度以及啟動(dòng)項(xiàng)目,可以實(shí)現(xiàn)定時(shí)任務(wù)的執(zhí)行,Cron表達(dá)式提供了靈活的任務(wù)調(diào)度方式,適用于各種復(fù)雜的定時(shí)任務(wù)需求,感興趣的朋友一起看看吧2025-03-03
實(shí)戰(zhàn)干貨之基于SpringBoot的RabbitMQ多種模式隊(duì)列
RabbitMQ 是一個(gè)由Erlang語言開發(fā)的AMQP的開源實(shí)現(xiàn),支持多種客戶端。用于在分布式系統(tǒng)中存儲(chǔ)轉(zhuǎn)發(fā)消息,在易用性、擴(kuò)展性、高可用性等方面表現(xiàn)不俗,下文將帶你深入了解 RabbitMQ 多種模式隊(duì)列2021-09-09
java事件處理模型知識(shí)點(diǎn)總結(jié)
在本篇文章里小辮給大家分享的是一篇關(guān)于java事件處理模型知識(shí)點(diǎn)總結(jié)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。2021-01-01
java 判斷一個(gè)數(shù)組中的數(shù)值是否連續(xù)相鄰的方法
下面小編就為大家分享一篇java 判斷一個(gè)數(shù)組中的數(shù)值是否連續(xù)相鄰的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
Java數(shù)據(jù)結(jié)構(gòu)之ArrayList從順序表到實(shí)現(xiàn)
Java中的ArrayList是一種基于數(shù)組實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu),支持動(dòng)態(tài)擴(kuò)容和隨機(jī)訪問元素,可用于實(shí)現(xiàn)順序表等數(shù)據(jù)結(jié)構(gòu)。ArrayList在內(nèi)存中連續(xù)存儲(chǔ)元素,支持快速的隨機(jī)訪問和遍歷。通過學(xué)習(xí)ArrayList的實(shí)現(xiàn)原理和使用方法,可以更好地掌握J(rèn)ava中的數(shù)據(jù)結(jié)構(gòu)和算法2023-04-04

