P6Spy配置使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P6Spy配置使用相关的知识,希望对你有一定的参考价值。

P6Spy是一个可以用来在应用程序中拦截和修改数据操作语句的开源框架。 通过P6Spy我们可以对SQL语句进行拦截,相当于一个SQL语句的记录器,这样我们可以用它来作相关的分析,比如性能分析。


P6SPY提供了如下几个功能:


记录SQL语句的执行时间戳。 

记录SQL语句类型 

记录SQL填入参数的和没有填入参数的SQL语句 

根据配置的时间控制SQL语句的执行时间,对超出时间的SQL语句输出到日志文件中


下面是p6spy在应用程序上集成的步骤: 

(1)http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22p6spy%22%20AND%20a%3A%22p6spy%22,下载zip包 


(2)解压出p6spy.jar spy.properties两个文件 


(3)将p6spy.jar 放入应用程序的WEB-INF/lib目录,将spy.properties放入WEB-INF/classes目录 

如果是maven环境,p6spy.jar不用放到lib下,采用maven方式引入即可

<dependency>

    <groupId>p6spy</groupId>

    <artifactId>p6spy</artifactId>

    <version>3.0.0</version>

</dependency>


(4)修改spy.properties 

driverlist=com.mysql.jdbc.Driver     取消driverlist前面的#,并加入数据库驱动

appender=com.p6spy.engine.spy.appender.StdoutLogger      也去掉这行前面的#    


(5)修改hibernate.xml

修改driverClassName 为 com.p6spy.engine.spy.P6SpyDriver,原来的值是com.mysql.jdbc.Driver

修改数据库连接,原来地址jdbc:mysql://localhost:3307/lmcms_v4.0_base_160831?useUnicode=true&characterEncoding=UTF-8

改为:jdbc:p6spy:mysql://localhost:3307/lmcms_v4.0_base_160831?useUnicode=true&characterEncoding=UTF-8


(6)重启tomcat 


(7)应用再有操作数据库时,控制台会打印数据库的sql信息





本文出自 “刘振” 博客,请务必保留此出处http://liuzhenlife.blog.51cto.com/10591893/1918621

以上是关于P6Spy配置使用的主要内容,如果未能解决你的问题,请参考以下文章

jdbc打印sql语句-p6spy配置

配置p6spyLog输出sql完整日志

P6Spy使用

p6spy,sql profiler,tomcat,dbcp,servlet,郁闷,妖怪问题

使用 p6spy,拦截到持久层执行的sql及参数

使用 p6spy,拦截到持久层执行的sql及参数