最近公司项目用到iBatis,开发环境是JDeveloper + Oracle10g,在进行调试的时候感觉很不方便,因为后台并不打印SQL语句,而sqlmap.xml文件中的Sql语句错误又很难被发现,因此想到了用P6Spy帮一下忙,大致配置过程如下:
1、下载P6Spy.jar文件,虽然p6spy很久没有更新了,但是也能满足我只是“看看SQL语句“的需要了。
http://www.p6spy.com
直接下载p6spy-src.zip文件,因为要自定义p6spy的输出格式,而默认的输出中SQL中的空格导致察看SQL很不方便。
2、解压缩,是一个Ant编译目录,打开build.xml文件,里面定义了编译所需要用到的JAR包。
其中jboss.jar为2.4.6,比较早的版本,如果应用服务器不是jboss的话可以把com\p6spy目录下的management目录删除,这样编译的时候就可以不用找jboss.jar文件了(不好找)。
3、将com\p6spy\engine\logging\appender\FormattedLogger.java文件中的logSQL()方法更改为如下:
java 代码
- public void logSQL(int connectionId,long elapsed,String category,
- String prepared,String sql){
-
-
-
- sql = sql.replaceAll("\\s+"," ");
-
- String logEntry = "|" + category + "|" + sql;
- logText(logEntry);
- }
4、运行Ant进行编译,默认目标即是生成jar文件。
5、将dist\p6spy.jar拷贝到项目WEB-INF\lib目录下,也可以定义为自定义包变量引入到工程中。
6、将spy.properties文件拷贝到目录WEB-INF\classes目录下。
7、更改spy.properties文件,将项目中用到的数据库驱动改为com.p6spy.engine.spy.P6SpyDriver,并将spy.properties文件中的realdriver改为真实连接数据库的driver.
8、完成。
- p6spy.rar (88.5 KB)
- 描述: 更改后的p6spy.jar和spy.properties文件
- 下载次数: 646
分享到:
相关推荐
本文将详细探讨如何使用P6Spy来打印iBatis(现为MyBatis)执行的SQL语句,以便进行性能分析和调试。 首先,我们需要了解P6Spy的工作原理。P6Spy通过替换JDBC驱动,将自己插入到应用程序和数据库之间,监听所有的SQL...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
P6Spy的核心组件是一个名为`spy.properties`的配置文件,其中可以设置日志文件的位置、要监视的数据库驱动等参数。 以下是在Tomcat应用服务器上集成P6Spy的步骤: 1. 下载P6Spy的最新版本,通常可以从其官方网站...
5. **兼容性广泛**:P6Spy支持多种JDBC驱动,能与大多数主流的数据库(如MySQL、Oracle、SQL Server等)配合使用。 ### 二、P6Spy工作原理 P6Spy通过替换应用程序的JDBC驱动,将其插入到应用程序与数据库之间。它...
标题中提到的“输出完整SQL”,意味着P6Spy可以捕获并记录应用程序发出的所有SQL语句,包括参数。这对于调试和性能分析非常有用,特别是当SQL语句是动态生成或者使用了预编译的PreparedStatement时。 5. **兼容性*...
P6Spy的配置相对简单,只需要将应用程序的JDBC驱动替换为P6Spy的代理驱动,并在配置文件中指定日志格式和输出位置,就能开始收集SQL日志。这些日志包含了执行时间、SQL语句等关键信息,对于分析性能问题非常有帮助。...
P6Spy是一个广泛使用的开源框架,它允许开发者无侵入地监控和记录应用程序中的所有SQL语句。这个项目的目标是借鉴P6Spy的部分源码,创建一个自定义的SQL执行监控器,以满足特定的需求或提供更定制化的功能。 P6Spy...
通过在WebLogic中配置P6Spy并使用SQLProfiler,我们可以获取详细的SQL执行信息,从而优化数据库性能。这个过程涉及到对WebLogic数据源的配置、P6Spy代理驱动的使用以及`spy.properties`的定制。理解这些知识点对于...
P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者进行性能优化和问题排查。 一、P6Spy简介 P6Spy是一个SQL日志记录器,它能够捕获并记录应用程序中的所有数据操作,包括插入、更新、...
**使用P6Spy进行SQL监控** 1. **查看日志**:P6Spy 会在指定的`logFile`中记录SQL日志,通过阅读这些日志,你可以看到应用程序的每个SQL语句及其执行细节。 2. **性能分析**:根据日志中的执行时间,你可以识别出...
在IT行业中,数据库操作是应用程序的核心部分,而JDBC(Java Database Connectivity)是Java...在阅读《p6spy和sqlProfiler的使用说明文档.doc》时,务必仔细理解每个步骤,确保正确配置和使用,以充分发挥它们的功效。
WebLogic Server 11g是一...通过以上配置,WebLogic Server 11g将能够使用P6Spy和SQL Profiler进行数据库性能监控,为系统的优化提供数据支持。记得定期检查和分析日志,持续优化数据库性能,以保持系统高效稳定运行。
首先,p6spy的核心功能是SQL日志记录,它能够捕获应用程序执行的所有SQL语句,并将其详细信息输出到日志文件中。这对于性能调优、故障排查以及审计都是非常有用的。在原版p6spy中,用户需要配置`spy.properties`文件...
一旦启用 P6Spy,每次应用程序执行 SQL 语句时,P6Spy 都会记录这些 SQL 的详细信息,包括执行前后的原始 SQL、执行参数、返回结果以及执行时间等,这对于性能调优和问题排查非常有用。 【排除ResultSet】 P6Spy ...
与P6spy不同,SqlProfiler通常需要与数据库管理系统的客户端一起使用,它可以实时监控SQL执行,包括查询时间、CPU使用、锁定和等待事件等。通过这种方式,开发者可以直观地看到哪些SQL语句可能导致性能问题。 **...
2. **格式化输出**:P6Spy可以按照自定义的格式输出SQL日志,使其更易于阅读和分析。 3. **性能监控**:通过记录SQL执行时间和其他相关信息,P6Spy可以帮助识别性能瓶颈,从而优化数据库操作。 4. **无需代码修改*...
通过使用SQL Profiler,你可以追踪SQL Server实例上的事件,如T-SQL语句的执行、锁争用、索引使用情况等。这有助于找出慢查询和不合适的索引,从而提高数据库性能。配置SQL Profiler通常涉及创建跟踪模板、选择要...
p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用 p6spy和sqlProfiler的配合使用让你的hibernate的show_sql更好用
这篇博客“使用p6spy完整显示hibernate的SQL语句”可能详细解释了如何配置和使用p6spy来跟踪Hibernate生成并执行的SQL。 首先,`p6spy`是一个Java数据库代理库,它可以拦截并记录所有通过JDBC发送到数据库的SQL语句...
专门用来监控hibernate的sql输出,进行调试应用程序的工具,找了好久才找到,里面有个配置文件,记住realdriver是你的驱动,而在hibernate设置的驱动是这个驱动代理,p6spy的驱动,相当于在hibernate和数据库之间放...