Spring Boot集成Mybatis中如何顯示日誌

在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語句,參數以及執行結果。

精品SpringBoot 2.x視頻教程

《Spring Boot 2.x 視頻教程全家桶》,精品Spring Boot 2.x視頻教程,打造一套最全的Spring Boot 2.x視頻教程。


程序新視界

公衆號“程序新視界”,一個讓你軟實力、硬技術同步提升的平臺

微信公衆號:程序新視界

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章