HIbernate 显示sql语句

Posted

tags:

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

Hibernate: insert into user_ma (name, age, sex, city, id) values (?, ?, ?, ?, ?)
怎么能把values里?????也变成真正插入的值???
好像误解了
这是在控制台上输出的语句,已经被程序执行过了.那里面的值是我赋的 但是我想让它在控制台把我赋的值给显示出来.而不是?的形式

参考技术A 用这个setParamertment(1,“”)方法,给“?”传参数
“1”代表第一参数,第二个要传的值,
如果要传的是整型可以用setInt(,)
字符串类型 可以用setString
这几个方法都是PreparedStatement类的具体的你可以访问
http://baike.baidu.com/view/890310.html?wtp=tt
参考技术B Hibernate会默认使用PreparedStatement来执行SQL语句
如果想真正显示值的话建议使用本地SQL,直接把SQL语句原原本本地写一遍
参考技术C 在控制台打印出来的好像都是问号吧 ,不能改的 参考技术D 把值传过去 第5个回答  2012-03-22 setName,setAge,setSex...在调用的时候就可以插进去了啊

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 :-)一切尽在眼前了吧?

以上是关于HIbernate 显示sql语句的主要内容,如果未能解决你的问题,请参考以下文章

如何得到hibernate显示在控制台的hql或sql语句?

HIbernate 显示sql语句

为啥我的Hibernate运行时都不显示sql语句呢

hibernate打印SQL及参数

如何用hibernate直接进行SQL语句查询

在hibernate中用sql语句