打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用P6Spy监视iBatis的SQL输出

用P6Spy监视iBatis的SQL输出

最近公司项目用到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 代码
 
  1. public void logSQL(int connectionId,long elapsed,String category,
  2.                    String prepared,String sql){  
  3.     //String logEntry = now + "|" + elapsed + "|" +
  4.         //(connectionId==-1?"":String.valueOf(connectionId)) + "|" +
  5.         //category + "|" + prepared + "|" + sql;  
  6.     //将sql中的多余空格删除掉  
  7.     sql = sql.replaceAll("\\s+"," ");  
  8.     //定义成简单输出格式  
  9.     String logEntry = "|" + category + "|" + sql;  
  10.     logText(logEntry);  
  11. }  

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、完成。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
用 p6spy 来观察 Java 程序中执行的所有 SQL 语句
使用P6Spy监控你的Spring boot数据库操作
J2EE 使用p6spy查看JAVA程序中执行的SQL,TOMCAT配置
数据库客户端sql监控P6Spy & SQL Profiler & IronTrack SQL
HIVE一些小技巧和java操作hive
Ibatis2.0使用说明(一)——入门实例篇
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服