Springboot應用中Mybatis輸出SQL日志的3種方法代碼示例
一、方法一:指定mybatis日志級別
# application.yml mybatis: configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 等價于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>
三、方法三:指定整個mapper包下的日志級別
# application.yml logging: level: com.example.demo.mapper: debug # 等價于application.properties logging.level.com.example.demo.mapper=debug
補充:Spring Boot集成Mybatis中如何顯示日志
在Spring Boot集成Mybatis的項目中,如果出現(xiàn)SQL語句執(zhí)行問題,我們需要進行排查。此時就需要打印對應的SQL語句,那么該如何操作才能正常打印出對應的SQL語句呢?
其實操作非常簡單,在application.properties或application.yml文件中配置對應mapper所在包的日志級別即可。
示例如下:
logging.level.com.secbro.mapper=debug
其中“logging.level.”為前綴,“com.secbro.mapper”為Mapper接口所在的包路徑。對應的value值為日志的級別。
此時,再執(zhí)行查詢程序,就會打印出對應的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 記錄數(shù) */ @Update("UPDATE tb_order SET order_no = #{orderNo},amount = #{amount} WHERE id =#{id}") int update(Order order); }
注意package的路徑對照。
添加debug打印之后,執(zhí)行一條單元測試,對應的日志信息如下:
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.
其中,我們可以很清楚的看到對應的SQL語句,參數(shù)以及執(zhí)行結果。
總結
到此這篇關于Springboot應用中Mybatis輸出SQL日志的3種方法的文章就介紹到這了,更多相關Springboot Mybatis輸出SQL日志內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解
- springboot下mybatis-plus開啟打印sql日志的配置指南
- springboot下mybatis-plus如何打印sql日志和參數(shù)到日志文件
- Spring Boot mybatis-config 和 log4j 輸出sql 日志的方式
- springboot logback調整mybatis日志級別無效的解決
- springboot+mybatis配置控制臺打印sql日志的方法
- Spring Boot集成Mybatis中如何顯示日志的實現(xiàn)
- springboot整合mybatis將sql打印到日志的實例詳解
- spring?boot?mybatis日志輸出到控制臺的方法實踐
相關文章
Java BufferedWriter BufferedReader 源碼分析
本文是關于Java BufferedWriter ,BufferedReader 簡介、分析源碼 對Java IO 流深入了解,希望看到的同學對你有所幫助2016-07-07Hibernate 與 Mybatis 的共存問題,打破你的認知!(兩個ORM框架)
這篇文章主要介紹了Hibernate 與 Mybatis 如何共存?本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-08-08java線程池合理設置最大線程數(shù)和核心線程數(shù)方式
這篇文章主要介紹了java線程池合理設置最大線程數(shù)和核心線程數(shù)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12