最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot集成P6Spy的實(shí)現(xiàn)示例

 更新時(shí)間:2025年08月12日 08:30:29   作者:老馬9527  
本文主要介紹了SpringBoot集成P6Spy的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

本節(jié)目標(biāo)

  • 實(shí)現(xiàn)Mybatis Plus + P6Spy 進(jìn)行sqly語(yǔ)句輸出
  • 實(shí)現(xiàn)Mybatis Plus + P6Spy 進(jìn)行sql執(zhí)行耗時(shí)輸出

P6Spy簡(jiǎn)介

p6spy 是一個(gè)可以用來(lái)在應(yīng)用程序中攔截和修改數(shù)據(jù)操作語(yǔ)句的開源框架。通常使用它來(lái)跟蹤數(shù)據(jù)庫(kù)操作,查看程序運(yùn)行過(guò)程中執(zhí)行的sql語(yǔ)句。簡(jiǎn)單來(lái)說(shuō),就是對(duì) SQL 語(yǔ)句執(zhí)行過(guò)程的監(jiān)控。我們一般用來(lái)做兩件事情:

  • 打印完整的sql語(yǔ)句
  • sql語(yǔ)句的耗時(shí)

官網(wǎng)地址:p6spy.readthedocs.io/en/latest/

拋出問(wèn)題

首先來(lái)看一下 Mybaties-plus 的默認(rèn)輸出:

==>  Preparing: SELECT user_id,dept_id,user_name,nick_name,email,phonenumber,sex,avatar,password,status,del_flag,create_time,create_by,update_time,update_by FROM sys_user WHERE del_flag=0 AND (user_id = ? AND user_name LIKE ?)
==> Parameters: 4(Long), %馬%(String)

我們期望的是打印出一條完整的 sql 語(yǔ)句,甚至還想要看到每條 sql 語(yǔ)句的總耗時(shí)。這個(gè)時(shí)候,p6spy 就發(fā)揮出它的作用了。

集成P6Spy

參照gitee.com/mayuanfei/S…下的springboot04項(xiàng)目創(chuàng)建springboot05項(xiàng)目。然后在其基礎(chǔ)上進(jìn)行修改。

1. SpringBoot三板斧之加入依賴

<dependency>
    <groupId>p6spy</groupId>
    <artifactId>p6spy</artifactId>
    <version>3.9.1</version>
</dependency>

2. 修改數(shù)據(jù)庫(kù)鏈接配置

  • 替換你的JDBC Driver為com.p6spy.engine.spy.P6SpyDriver;
  • 修改JDBC Url為jdbc:p6spy:xxxx。

application-dev中的配置修改前:

spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    url: jdbc:mysql://101.43.67.114:3306/springboot-demo?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: 23456

修改后:

3. 添加配置文件 spy.properties

在resources目錄下創(chuàng)建spy.properties屬性文件,內(nèi)容如下:

# P6Spy的配置
# 應(yīng)用的攔截模塊
modulelist=com.baomidou.mybatisplus.extension.p6spy.MybatisPlusLogFactory,com.p6spy.engine.outage.P6OutageFactory
# 自定義日志打印
logMessageFormat=com.baomidou.mybatisplus.extension.p6spy.P6SpyLogger
# 日志輸出到控制臺(tái)
appender=com.baomidou.mybatisplus.extension.p6spy.StdoutLogger
# 使用日志系統(tǒng)記錄 sql
#appender=com.p6spy.engine.spy.appender.Slf4JLogger
# 設(shè)置 p6spy driver 代理
deregisterdrivers=true
# 取消JDBC URL前綴
useprefix=true
# 配置記錄 Log 例外,可去掉的結(jié)果集有error,info,batch,debug,statement,commit,rollback,result,resultset.
excludecategories=info,debug,result,commit,resultset
# 日期格式
dateformat=yyyy-MM-dd HH:mm:ss
# 實(shí)際驅(qū)動(dòng) 可多個(gè)
driverlist=com.mysql.cj.jdbc.Driver
# 是否開啟慢SQL記錄
outagedetection=true
# 慢SQL記錄標(biāo)準(zhǔn) 2 秒
outagedetectioninterval=2
# 是否過(guò)濾 Log
filter=true
# 過(guò)濾 Log 時(shí)所排除的 sql 關(guān)鍵字,以逗號(hào)分隔
exclude=select 1 from dual

4. 執(zhí)行上節(jié)中的測(cè)試

@Test
public  void testSelect() {
    List<SysUser> users = new LambdaQueryChainWrapper<>(this.sysUserMapper)
            .eq(SysUser::getUserId, 4L)
            .like(SysUser::getUserName, "馬")
            .list();
    Console.log("users -> {}", users);
}

這里能看到執(zhí)行用時(shí)和具體的sql語(yǔ)句如下:

Consume Time:29 ms 2023-05-24 15:34:44
 Execute SQL:SELECT user_id,dept_id,user_name,nick_name,email,phonenumber,sex,avatar,password,status,del_flag,create_time,create_by,update_time,update_by FROM sys_user WHERE del_flag=0 AND (user_id = 4 AND user_name LIKE '%馬%')

代碼地址

https://gitee.com/mayuanfei/SpringBootDemo下的springboot05

記憶印記

  • p6spy能打印出完成的sql
  • p6spy能打印出sql運(yùn)行的用時(shí)

到此這篇關(guān)于SpringBoot集成P6Spy的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)SpringBoot集成P6Spy內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家! 

相關(guān)文章

  • 詳細(xì)講解Java中==與equals的區(qū)別對(duì)比

    詳細(xì)講解Java中==與equals的區(qū)別對(duì)比

    這篇文章主要為大家詳細(xì)介紹了Java中==與equals的區(qū)別對(duì)比,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,感興趣的同學(xué)可以參考閱讀下
    2023-09-09
  • Jenkins一鍵打包部署SpringBoot應(yīng)用的方法步驟

    Jenkins一鍵打包部署SpringBoot應(yīng)用的方法步驟

    本文主要介紹了使用Jenkins一鍵打包部署SpringBoot應(yīng)用的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-12-12
  • Java使用ArrayList實(shí)現(xiàn)撲克牌的示例代碼

    Java使用ArrayList實(shí)現(xiàn)撲克牌的示例代碼

    學(xué)習(xí)了關(guān)于集合類的知識(shí),我們可以做一個(gè)小項(xiàng)目來(lái)加深對(duì)集合類知識(shí)的學(xué)習(xí)!本文就來(lái)利用ArrayList實(shí)現(xiàn)撲克牌發(fā)牌洗牌效果,需要的可以參考一下
    2022-10-10
  • SpringBoot+Redis實(shí)現(xiàn)不重復(fù)消費(fèi)的隊(duì)列的示例代碼

    SpringBoot+Redis實(shí)現(xiàn)不重復(fù)消費(fèi)的隊(duì)列的示例代碼

    本文主要介紹了SpringBoot+Redis實(shí)現(xiàn)不重復(fù)消費(fèi)的隊(duì)列的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • IDEA中Spring項(xiàng)目的工程構(gòu)建

    IDEA中Spring項(xiàng)目的工程構(gòu)建

    這篇文章主要介紹了IDEA中Spring項(xiàng)目的工程構(gòu)建,Spring框架是輕量級(jí)的JavaEE框架,可以解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性,有兩個(gè)核心部分:IOC和Aop,今天來(lái)學(xué)習(xí)如何構(gòu)建spring項(xiàng)目,需要的朋友可以參考下
    2023-05-05
  • Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(41)

    Java日常練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(41)

    下面小編就為大家?guī)?lái)一篇Java基礎(chǔ)的幾道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧,希望可以幫到你
    2021-07-07
  • 關(guān)于Springboot中JSCH的使用及說(shuō)明

    關(guān)于Springboot中JSCH的使用及說(shuō)明

    這篇文章主要介紹了關(guān)于Springboot中JSCH的使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。
    2022-09-09
  • SpringMVC 響應(yīng)數(shù)據(jù)和結(jié)果視圖從環(huán)境搭建到實(shí)戰(zhàn)全解析

    SpringMVC 響應(yīng)數(shù)據(jù)和結(jié)果視圖從環(huán)境搭建到實(shí)戰(zhàn)全解析

    SpringMVC中,Controller方法的返回值決定了響應(yīng)方式,本文詳細(xì)講解了SpringMVC的開發(fā)環(huán)境搭建、Controller方法返回值分類、轉(zhuǎn)發(fā)與重定向機(jī)制,以及JSON異步交互的實(shí)現(xiàn),本文介紹SpringMVC 響應(yīng)數(shù)據(jù)和結(jié)果視圖從環(huán)境搭建到實(shí)戰(zhàn)全解析,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • Java集合框架源碼分析之LinkedHashMap詳解

    Java集合框架源碼分析之LinkedHashMap詳解

    這篇文章主要介紹了Java集合框架源碼分析之LinkedHashMap詳解,內(nèi)容包括了linkedhashmap的簡(jiǎn)介和源碼剖析以及關(guān)于LinkedHashMap的源碼總結(jié),內(nèi)容豐富,需要的朋友可以參考下。
    2017-09-09
  • java實(shí)現(xiàn)聯(lián)機(jī)五子棋

    java實(shí)現(xiàn)聯(lián)機(jī)五子棋

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)聯(lián)機(jī)五子棋,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評(píng)論

湖南省| 和静县| 东乡族自治县| 潮州市| 渝中区| 涟水县| 崇左市| 长宁区| 肃宁县| 焉耆| 丰宁| 六安市| 阜阳市| 杭锦后旗| 沁源县| 曲水县| 栾川县| 临桂县| 凤山县| 五莲县| 清镇市| 伊金霍洛旗| 宿松县| 盐山县| 长武县| 靖安县| 丽水市| 广灵县| 莒南县| 韩城市| 苏尼特右旗| 靖远县| 温宿县| 商洛市| 谷城县| 靖边县| 万荣县| 蚌埠市| 永修县| 成都市| 金沙县|