HIBERNATE怎样查看sql语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HIBERNATE怎样查看sql语句相关的知识,希望对你有一定的参考价值。

怎样才能看到hibernate的sql呢
我想把sql打印出来 写入日志

参考技术A 弄hibernate时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。用p6spy可以达到显示的那些参数原值的目的,但可读性差。可以利用SQL Profiler来处理这个事情。p6spy: http://www.p6spy.com/SQL Profile: http://www.jahia.net/jahia/page597.htmlp6spy安装:* 将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 GUI2. Start the webapp, in starts doing some JDBC requests we will ignore3. Press the "reset" button on the GUI4. Make a request to the webapp5. Press the "pause" button after the request has finished executing6. Press the "report" button to save profiling results as a CSV file* 我们先用java -jar sqlprofiler.jar 运行 sql profiler* 然后启动web server :-)一切尽在眼前了吧?

怎样查看Tomcat动态控制台信息

在web项目调试期间,时常需要查看输出的调试信息,例如当hibernate设置为显示SQL语句时,每次运行的SQL语句会输出到终端,另外有时需要在代码中插入一些输出语句,以方便掌握运行情况,但当插入System.out.println(....)这样的控制台输出语句时,在终端是不能直接看到的。

在tomcat中,默认将终端输出信息输出到

 

[plain] view plain copy
 
  1. $CATALINA_HOME/logs/catalina.out  

其中$CATALINA_HOME是tomcat的安装目录。

 

tomcat启动后,该文件每秒都会更新一次,并且像其中输入日志信息,所以如果用直接打开的方式查看文件内容,由于文件在不断刷新,往往难以实现。我们希望查看到动态的日志内容,有两种方式:

1.方式一

进入tomcat安装路径的bin目录中,运行sh catalina.sh run命令,将在终端动态显示catalina.out的内容

2.方式二

进入上述的安装目录下的logs目录中,执行如下命令

 

[plain] view plain copy
 
  1. tail -f catalina.out  

 

进入tomcat/logs/文件夹下 
 # tail -f catalina.out 

以上是关于HIBERNATE怎样查看sql语句的主要内容,如果未能解决你的问题,请参考以下文章

怎样查看Tomcat动态控制台信息

oracle 中怎样查看以前执行过的SQL语句?

怎样查看最消耗资源的sql语句 与 ora

怎样分析sql语句的执行计划

查询优化怎样用SQL语句查看查询的性能指标

打印hibernate的SQL语句的几种办法