hibernate查看生成SQL语句工具p6spy,SQL Profiler
使用hibernate开发的项目中,维护的时候想查看某个操作在后台发送的SQL语句是什么,可以在hibernate.cfg.xml中把show_sql设置成true,
但是在控制台显示的SQL语句都是没有值的,值全部用?代替了。
用p6spy可以达到显示那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理输出格式。
所需的jar包和配置文件在csdn的下载频道可以找到。http://d.download.csdn.net/down/1201711/chenlei8741
p6spy安装:
*将p6spy.jar放到WEB-INF/lib目录下,将spy.properties放到WEB-INF/classes目录下。
*修改你原有JDBC Driver为:com.p6spy.engine.spy.P6SpyDriver
*修改spy.properties中的realdriver值为原有的JDBC Driver,比如我的是:net.sourceforge.jtds.jdbc.Driver
*完成,运行web server。
(这种方式不需要把show_sql设置成true。)
访问Web,这时可以在%Tomcat_Home%/bin目录下,找到一个spy.log的文件,里面记录的就是hibernate生成的SQL语句。
用以上方式记录的SQL格式不方便查看,可以用SQL Prifiler来查看
SQL Profile安装:
*将SQL Profiler自带的spy.properties覆盖原来的classes目录下的spy.properties文件
*修改spy.properties中的realdriver值为原有的JDBC Driver(比如:net.sourceforge.jtds.jdbc.Driver)
*修改spy.properties中的deregisterdrivers值为true
运行profiler.jar (java -jar D:/profiler.jar)
启动web server
访问web server
SQL Profiler界面上的SQL Statements列表自动显示SQL操作语句
单击其中一条记录,在下面的Details区域将显示详细信息。