`
aiien007
  • 浏览: 2838 次
文章分类
社区版块
存档分类
最新评论

p6spy介绍

 
阅读更多
本文转载至http://www.cnblogs.com/xiziyin/archive/2009/12/21/1628921.html   西子吟

P6spy是什么?


P6Spy 是针对数据库访问操作的动态监测框架(为开源项目,项目首页:www.p6spy.com)它使得数据库数据可无缝截取和操纵,而不必对现有应用程序的代码作任何修改。P6Spy 分发包包括P6Log,它是一个可记录任何 Java 应用程序的所有JDBC事务的应用程序。其配置完成使用时,可以进行数据访问性能的监测。

我们最需要的功能,查看sql语句,不是预编译的带问号的哦,而是真正的数据库执行的sql,更直观,更简单。
下载地址:http://cid6adab3222e64b22c.office.live.com/self.aspx/.Public/java/jar/p6spy-install.zip
需要准备什么?


我们最需要的是这些:

Spy.properties是p6spy的配置文件,里面定义了类似log4j的日志格式,文件路径等。

P6spy.jar则是主要的jar文件。


使用maven的可以直接加入p6spy依赖,但是spy.properties依旧得copy啦~
[img] http://pic002.cnblogs.com/img/czy88840616/200912/2009122115411734.jpg[/img]
开始一个demo

1、  copy压缩包里的spy.properties到classpath下,你想敲也可以…………

2、  打开spy.properties,里面比较重要的有

realdriver=org.gjt.mm.mysql.Driver

代表真正的数据库驱动

上面有一些注释的驱动,直接把#号去掉就可以,保留一个生效即可


我本地因为有一个mysql数据库来测试,所以我使用mysql驱动

3、  简单地使用spring的jdbc模板来查询,测试输出的sql


<bean id="dataSource" class="com.p6spy.engine.spy.P6DataSource">

      <constructor-arg ref="dataSourceTarget"></constructor-arg>

</bean>

这段表明了使用p6spy来监控sql,相当于一个代理的数据源,但是实际上引用的还是我们自己的真正的数据源,但是这里使用构造注入不太友好,呵呵。

4、  简单执行demo
代码

package p6spy;

 

import java.util.List;

 

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.jdbc.core.JdbcTemplate;

 

public class SqlDemo {

   public static void main(String[] args) {

      ApplicationContext context = new ClassPathXmlApplicationContext("p6spy/spring.xml");

      JdbcTemplate jdbcTemplate = (JdbcTemplate) context.getBean("jdbcTemplate");

      List list = jdbcTemplate.queryForList("select * from user where id=?", new Object[]{1});

      System.out.println(list.size());

   }

}

其中包含一个带参数的sql    select * from user where id=?



成功运行后查看日志,默认的文件名为spy.log,会生成在项目根目录下。

看看,是不是预编译的sql和实际的sql都打出来了



如果出现

Warning: driver com.mysql.jdbc.Driver is a real driver in spy.properties, but it has been loaded before p6spy.  p6spy will not wrap these connections.  Either prevent the driver from loading, or try setting 'deregisterdrivers' to true in spy.properties

出现这句话的时候把deregisterdrivers=true



对于一个已经存在的工程,我们只要做3步就可以了

1、  导入p6spy.jar包

2、  将工程的数据库驱动换成相对应的p6spy驱动

3、  将spy.properties的真实驱动项指向你真正的驱动

Enjoy it……





这个包在测试的时候相当的方便,特别是调试sql的时候。。。
分享到:
评论

相关推荐

    下载 p6spy.jar (内含使用步骤)

    **P6Spy 简介** P6Spy 是一个开源的数据库监控工具,它能够记录并分析应用程序与数据库之间的所有SQL交互。对于开发者而言,P6Spy 是一个强大的调试和性能分析工具,尤其在使用MyBatis或Hibernate等ORM框架时,能够...

    p6spy 在weblogic中的配置 以及使用sqlprofiler监控

    本文将详细介绍如何在WebLogic中配置P6Spy,并利用SQLProfiler进行SQL监控。 ### 1. P6Spy的安装与配置 首先,需要下载P6Spy的最新版本,并将其添加到项目的类路径中。P6Spy的核心组件是`spy.jar`,它提供了一个...

    P6SPY JDBC拦截打印sql语句 非常好的调试工具

    P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...

    采用p6spy完整显示hibernate的SQL语句

    在这种情况下,P6Spy是一个非常有用的工具。P6Spy是一个开源的JDBC代理库,它允许我们监控并记录应用通过JDBC执行的所有数据库操作,包括那些由Hibernate生成的SQL语句。它不仅可以提供完整的SQL语句,还能够提供...

    p6spy-sql监控

    **P6Spy SQL监控工具详解** P6Spy是一款开源的SQL监控工具,它主要用于Java应用程序中的数据库活动监控。P6Spy通过拦截并记录应用程序与数据库之间的SQL交互,为开发者和DBA提供了强大的诊断和性能分析能力。在进行...

    p6spy简介显示hibernate配置

    **P6Spy简介** P6Spy是一款开源的Java数据库监控工具,它允许开发者在不修改应用程序代码的情况下,透明地监控数据库活动。P6Spy通过拦截并记录JDBC调用来获取数据库查询、更新和其他操作的详细信息,这对于性能...

    p6spy使用说明.doc

    P6Spy是一个强大的开源工具,专门用于监控JDBC连接,特别是在SpringBoot环境下,它可以提供对Oracle数据库查询执行时长的详细分析。P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者...

    p6spy java 使用

    【P6Spy简介】 P6Spy 是一个开源的 Java 监控工具,专门用于 SQL 查询的拦截和日志记录。它适用于那些希望监控数据库访问,分析性能,或者在不修改应用程序代码的情况下对 SQL 语句进行调试的开发人员。P6Spy 不仅...

    myeclipse配置p6spy以及导入源码

    在介绍如何在MyEclipse中配置P6Spy以及导入其源码之前,首先需要了解P6Spy是一款什么工具。P6Spy是一个开源的应用程序,它允许开发者在Java应用程序中监控和记录对数据库的SQL调用。这对于数据库查询的性能分析和...

    借鉴p6spy,实现自己的SQL执行监控器项目源代码

    P6Spy是一个广泛使用的开源框架,它允许开发者无侵入地监控和记录应用程序中的所有SQL语句。这个项目的目标是借鉴P6Spy的部分源码,创建一个自定义的SQL执行监控器,以满足特定的需求或提供更定制化的功能。 P6Spy...

    p6spy-3.7.0.zip

    《P6Spy 3.7.0:数据库监控与性能优化利器》 P6Spy 是一个开源的数据库监视工具,它允许开发者在不修改应用程序代码的情况下,对数据库访问进行监听、记录和分析。P6Spy 的3.7.0版本为开发者提供了更强大的功能和...

    P6Spy 提供数据库性能监控和剖析工具

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

    使用P6spy打印ibatis执行的SQL语句

    接下来,我们将分步骤介绍如何配置P6Spy以打印iBatis的SQL语句: 1. **安装P6Spy**:首先,从P6Spy的官方网站下载最新版本的P6Spy库,并将其添加到项目的类路径中。这通常涉及到修改`pom.xml`文件(对于Maven项目)...

    p6spy 修改版,去掉resultset

    【标题】"p6spy 修改版,去掉resultset" 是一个针对P6Spy数据库监控工具的定制化版本,主要特点是去除了对`ResultSet`的监控功能。P6Spy是一款广泛使用的开源工具,它允许开发者在不修改应用程序代码的情况下,监控...

    p6spy精简版-跟踪sql工具

    【p6spy精简版-跟踪SQL工具】是一款专为数据库操作监控设计的工具,它通过对JDBC驱动的拦截,实现对SQL语句的透明跟踪。这个精简版旨在简化p6spy的原生配置和使用流程,让更多非开发人员也能便捷地利用此工具来监控...

    sqlprofiler+p6spy+配制

    `SQL Profiler`和`P6Spy`就是两个用于此目的的工具。它们可以帮助开发者识别性能瓶颈,理解数据库操作的效率,并进行必要的优化。现在我们来详细探讨这两个工具的配置及其相关知识。 首先,`SQL Profiler`是微软SQL...

    p6spy.rar输出完整带参sql

    P6Spy是一款强大的开源数据库监控工具,主要用于Java应用程序中的数据库活动监控。它可以在不修改代码的情况下,记录并分析SQL语句,提供详细的执行性能信息,这对于优化数据库操作、排查问题和提升应用程序性能非常...

    p6spy的maven工程源码

    **P6Spy 知识点详解** P6Spy 是一个开源的 Java 库,它专为监控和分析数据库应用的 SQL 活动而设计。它通过代理 JDBC 驱动,使得在不修改应用程序代码的情况下,能够捕获并记录执行的所有 SQL 语句。这对于性能调试...

    数据插入监控 p6spy

    **P6Spy** 是一个开源的Java库,用于监控和日志记录应用程序与数据库之间的所有交互。它通过拦截和包裹JDBC驱动程序来实现这一功能,使得开发人员和DBA可以详细跟踪SQL查询,这对于性能优化、问题排查以及理解应用...

    weblogic server 11g +p6spy +sql profiler 配置

    P6Spy则是一个开源的数据库监控工具,它能够帮助开发者和管理员追踪和分析SQL执行情况,提高数据库性能。SQL Profiler是P6Spy的一个组件,用于对数据库操作进行详细分析,找出潜在的性能瓶颈。 配置WebLogic Server...

Global site tag (gtag.js) - Google Analytics