欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Springboot應(yīng)用中Mybatis輸出SQL日志的3種方法代碼示例

 更新時(shí)間:2024年01月31日 08:27:32   作者:yuanmintao  
在前臺(tái)請(qǐng)求數(shù)據(jù)的時(shí)候,sql語句一直都是打印到控制臺(tái)的,有一個(gè)想法就是想讓它打印到日志里,該如何做呢?這篇文章主要給大家介紹了關(guān)于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: 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.

其中,我們可以很清楚的看到對(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)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring單數(shù)據(jù)源的配置詳解

    Spring單數(shù)據(jù)源的配置詳解

    spring數(shù)據(jù)源的配置網(wǎng)絡(luò)上有很多例子,這里我也來介紹一下單數(shù)據(jù)源配置的例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Java BufferedWriter BufferedReader 源碼分析

    Java BufferedWriter BufferedReader 源碼分析

    本文是關(guān)于Java BufferedWriter ,BufferedReader 簡(jiǎn)介、分析源碼 對(duì)Java IO 流深入了解,希望看到的同學(xué)對(duì)你有所幫助
    2016-07-07
  • Hibernate 與 Mybatis 的共存問題,打破你的認(rèn)知!(兩個(gè)ORM框架)

    Hibernate 與 Mybatis 的共存問題,打破你的認(rèn)知!(兩個(gè)ORM框架)

    這篇文章主要介紹了Hibernate 與 Mybatis 如何共存?本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • C# log4net使用案例詳解

    C# log4net使用案例詳解

    這篇文章主要介紹了C# log4net使用案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式

    java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式

    這篇文章主要介紹了java線程池合理設(shè)置最大線程數(shù)和核心線程數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java判斷閏年的2種方法示例

    Java判斷閏年的2種方法示例

    這篇文章主要給大家介紹了關(guān)于Java判斷閏年的2種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • Java并發(fā)計(jì)數(shù)器的深入理解

    Java并發(fā)計(jì)數(shù)器的深入理解

    這篇文章主要給大家介紹了關(guān)于Java并發(fā)計(jì)數(shù)器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 通過反射實(shí)現(xiàn)Java下的委托機(jī)制代碼詳解

    通過反射實(shí)現(xiàn)Java下的委托機(jī)制代碼詳解

    這篇文章主要介紹了通過反射實(shí)現(xiàn)Java下的委托機(jī)制代碼詳解,具有一定借鑒價(jià)值,需要的朋友可以參考下。
    2017-12-12
  • mybatis使用foreach標(biāo)簽進(jìn)行嵌套插入

    mybatis使用foreach標(biāo)簽進(jìn)行嵌套插入

    數(shù)據(jù)庫(kù)插入操作常見于多層架構(gòu)設(shè)計(jì)中,本文提供了一個(gè)具體的實(shí)現(xiàn)方案,涉及三層實(shí)體類結(jié)構(gòu),第一層實(shí)體類負(fù)責(zé)基本數(shù)據(jù)結(jié)構(gòu)的定義,第二層和第三層實(shí)體類則提供更詳細(xì)的業(yè)務(wù)邏輯處理,同時(shí),文章還介紹了相應(yīng)的mapper接口和配置文件設(shè)置
    2024-09-09
  • java 使用異常的好處總結(jié)

    java 使用異常的好處總結(jié)

    這篇文章主要介紹了java 使用異常的好處總結(jié)的相關(guān)資料,需要的朋友可以參考下
    2017-03-03

最新評(píng)論