java hibernate sql_hibernate 显示sql解决方案(内容转载)

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

弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像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.properties中realdriver 值为 原有 的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功能等等。

posted on 2009-10-19 15:01 javaGrowing 阅读(316) 评论(0)  编辑  收藏 所属分类: java学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值