利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。

利用P6SPY SQL Profiler记录、统计web app对数据库的操作。

hibernate时,想显示sql语句,可以设置show_sqltrue来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。
p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。
p6spy: http://www.p6spy.com
SQL Profile: http://www.jahia.net/jahia/page597.html

p6spy安装:
* 将p6spy.jar放到WEB-INF/lib目录下,将spy.properties放到WEB-INF/classes目录下。
* 修改你 原有 JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver
* 修改 spy.properties 中的 realdriver 值为 原有 的JDBC Driver,比如我的是:com.mysql.jdbc.Driver
* 完成,运行web server

我的日志记录产生在 %TOMCAT_HOME%/bin下,此log位置可以能过修改 logfile  = x:/x_dir/spy.log 来控制
打开看看,看里面的日志是不是看起来比较不爽?下面我们安装SQL Profiler来让自已的视线爽一点。

SQL Profiler安装:(须p6spy成功安装)
* 将SQL Profiler自带的spy.properties覆盖原来的classes目录下文件
* 修改现在spy.propertiesrealdriver 值为 原有 的JDBC Driver
看后看看readme注意这几句 ^__^ 
1. Start the GUI
2. Start the webapp, in starts doing some JDBC requests we will ignore
3. Press the "reset" button on the GUI
4. Make a request to the webapp
5. Press the "pause" button after the request has finished executing
6. Press the "report" button to save profiling results as a CSV file

* 我们先用java -jar sqlprofiler.jar 运行 sql profiler
* 然后启动web server :-)

一切尽在眼前了吧?
当然,p6spy 和 sql profiler 能做的不止这些,sql profiler还能根据你的query来帮你生成建立合适的index功能等等。

如果是为了查看hibernatesql语句执行时的赋值情况的话
根本用不着加这些第三方的包,直接在log4j.properties文件
里加一行org.hibernate.type=trace就可以看到了


P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。

 

p6spy的安装步骤:

 

1. 下载p6spy的安装包

 

2. p6spyjar包放到Classpath,如果是WEB App放在WEB APP/WEB-INF/lib目录下

 

3. p6spyDriver Class name替换原来的JDBC Driver Class Name, url, username, password一切都不变。

 -- 由于每个应用的数据库连接配置,可能不一样,有些是Hibernate, OJB, Spring或者其它。。。。请按照相应的配置文件修改即可。

 -- dbcp还要再试试,才知道是否支持,理论是支持的。    

 

4. 编辑spy.properties文件,把JDBC Driver Class Name作为RealDriverName的值,其它的属性一般不用指定.

 

5. spy.properties放到合适的目录下,一定要让App能够找着,如果是webapp就放在webapp/WEB-INF/classess/目录下。

 

6. 启动应用,看看spy.log是否生成出来了?

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/onlyme/archive/2005/07/05/414673.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值