用户登录
用户注册

分享至

hibernate 调用sql存储过程

  • 作者: 大姐有钱就他娘的甩了你
  • 来源: 51数据库
  • 2020-12-09

弄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 :-)


一切尽在眼前了吧? 


软件
前端设计
程序设计
Java相关