( 八 )、 SpringBoot中打印mybatis的sql執行時間、完整的sql語句


( 八 )、  SpringBoot中打印mybatis的sql執行時間、完整的sql語句

 

 

 

1、簡介

有時候我們程序的接口比較耗時,需要優化,這時我們可能需要了解該接口執行了哪些sql語句以及耗時。

 

2、maven依賴:

  <!--監控sql日志,log4jdbc監控jdbc層-->
        <dependency>
            <groupId>org.bgee.log4jdbc-log4j2</groupId>
            <artifactId>log4jdbc-log4j2-jdbc4.1</artifactId>
            <version>1.16</version>
        </dependency>

 

2.引入配置文件 log4jdbc.log4j2.properties

log4jdbc.spylogdelegator.name=net.sf.log4jdbc.log.slf4j.Slf4jSpyLogDelegator

 

3.logback-spring.xml 里加入如下內容

  <logger name="jdbc.connection" level="OFF"/>
    <logger name="jdbc.resultset" level="OFF"/>
    <logger name="jdbc.resultsettable" level="OFF"/>
    <logger name="jdbc.audit" level="OFF"/>
    <!--ps:sqltiming和sqlonly差別是多打印了sql語句的耗時,如果不想要這個時間可以修改篩選里面的項。-->
    <logger name="jdbc.sqltiming" level="INFO"/>
    <logger name="jdbc.sqlonly" level="OFF"/>

 

4、修改yml:

      #   driver-class-name: com.mysql.jdbc.Driver
      #   url: jdbc:mysql://39.100.153.187:3306/common-crm?useSSL=false&characterEncoding=utf8&autoReconnect=true
      driver-class-name: net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      url: jdbc:log4jdbc:mysql://39.100.153.187:3306/common-crm?useSSL=false&characterEncoding=utf8&autoReconnect=true

  driver-class-name 修改為:net.sf.log4jdbc.sql.jdbcapi.DriverSpy

  url 修改為:jdbc:log4jdbc:mysql:// (在原來的jdbc后面加了:log4jdbc:)

完成!!!

 

效果:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM