zoukankan      html  css  js  c++  java
  • springboot打印sql语句及执行时间

    有时候我们程序的接口比较耗时,需要优化,这时我们可能需要了解该接口执行了哪些sql语句以及耗时

    1.引入jar包

            <!--监控sql日志-->
            <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.配置文件中修改部分属性值

    如图:

    即:

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

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

    ---------------------------------------------------------------------------    

    以上完成任务,下面看下效果

    ---------------------------------------------------------------------------

    注意:除了打印sql执行时间外,打印的sql语句是包含sql所带的参数的,select语句的话where后面带参数值,insert语句的话插入对象的值都有

  • 相关阅读:
    KVC笔记
    在iOS工程中引入C++静态库
    看了iOS 7和Xcode 5后的感想
    OpenGL学习第一天
    常用iOS游戏开发工具与SDK
    分享一个技巧,利用批处理调用ruby脚本(可能你为路径苦恼)
    ruby酷酷的方法——另一种next
    ruby的字符串性能到底如何最佳
    ruby元编程之 method_missing 一个细节
    ruby的继承到底可以继承哪些东西
  • 原文地址:https://www.cnblogs.com/shog808/p/12096855.html
Copyright © 2011-2022 走看看