❶ 如何用hibernate直接进行sql语句查询
String sql="SQL语句";session.createSqlQuery(sql);
❷ HIBERNATE如何用SQL啊
Session session=getSession();
sql="insert into userRole(userID,roleID) values(?,?)
session.createSQLQuery(sql);
❸ hibernate 使用log4j在myeclipse中输出SQL完整信息,但是怎么弄都没显示,大家看看那里错了
hibernate在控制台显示sql代码,是在property节点添加如下内容<property name="show_sql">true</property>,配置了这个应该就可以显示sql语句。你的错误,很有可能是配置的前面的错误,影响了后面的运行。或者你写的代码根本就没有实现从数据库提取数据的功能。
❹ Hibernate如何执行原生的SQL语句
hibernate本来就支持 原sql 调用执行sql的方法就行了 调用方法的时候注意看所需的参数
@Autowired
private SessionFactory sessionFactory;
sessionFactory.getCurrentSession().createSQLQuery(sql);
这样就可以了
❺ HIBERNATE怎样查看sql语句
弄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语言,增删改查语句基本不用自己写。
添加:
Admin admin=new Admin();
admin.set...();
session.save(admin);
删除:
session.delete(admin);
修改:
Admin admin=session.load(Admin.class,new Integer(i));
session.saveOrUpdate(admin);
查询:
Query query = session.createQuery("select OBJECT(o) from Admin o order by o.adminid");
亦可写成:
Query query = session.createQuery("from Admin");
注意:hibernate的业务逻辑操作必须放在事务中,代码如下:
Transaction tr = session.beginTransaction();
try {
****增删改查语句***
// 提交事务
tr.commit();
} catch (Exception e) {
// 回滚事务
tr.rollback();
} finally {
}
还有,hibernate内的语句不是SQL,而是HQL,但它支持SQL,又它特定的写法;表名不是数据库的名字,而是映射后的实体类(表)的名字;而且,是直接对数据库进行操作,也就hibernate的事务一提交,数据库内的信息就做了相应的修改;最后,hibernate不是个软件,而是一个插件,通俗的说法是别人写好的“包”,导入项目后,根据“包”的规范去做快速开发。