在Hibernate中使用HibernateTemplate来进行包含sql语句的查询

/**
     * 使用sql语句进行查询操作
     * @param sql
     * @return
     */
    public List queryWithSql(final String sql){
        List list = hibernateTemplate.executeFind(new HibernateCallback() {
            public Object doInHibernate(Session session) throws HibernateException,
                    SQLException {
                Query query = session.createSQLQuery(sql);  
                List list = query.list();
                return list;
            }
        });
        return list;
    }

时间: 2024-12-28 15:24:05

在Hibernate中使用HibernateTemplate来进行包含sql语句的查询的相关文章

Hibernate利用@DynamicInsert和@DynamicUpdate生成动态SQL语句

最近在使用Hibernate4中,发现两个很有奥秘的注解 @DynamicInsert 和 @DynamicUpdate 如果是在配置文件的话那就是dynamic -insert 和 dynamic-update 这两个注解在一定程度上可以增加与数据库操作相关的速度,可以节省SQL语句的执行时间,提高程序的运行效率. 使用这两个注解只需要在实体类上加入即可,或者在*.hbm.xml配置.这两个注解是boolean值,true或者false. 1.首先使用false来看一下执行的结果,我们就拿更新

在雇员表中查找第二高的工资SQL语句助记

        "在雇员表中查找第二高的工资的员工记录"SQL语句怎么写         这个查询首先查找最高工资,然后将它从列表中排除,再查找最高工资.很明显,第二次返回的是第二高工资. select top 1 * from employee where salary not int (select max(salary) from emplyee) order by salary desc 或者 select top 1 * from(select top 2 * from em

Jfinal中使用日志框架输出完整sql语句信息(mysql+oracle)

1.引入Jar包. //必须引入的jar包 log4j-1.2.17.jar log4jdbc4-1.2.jar slf4j-api-1.7.5.jar //二选一的jar包,如果你的项目中已经引入了其中任何一个,就不需要再引入另一个了.同时引入以上两个包会产生堆栈溢出问题,详情可参考这篇文档: http://blog.csdn.net/kxcfzyk/article/details/38613861 slf4j-log4j12-1.7.5.jar 或者 log4j-over-slf4j-1.7

MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

查询所有数据库占用磁盘空间大小的SQL语句: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size, concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size from information_schema.tables group by TABLE_SCHEMA order by data_lengt

【SQL语句】查询某个表在某时间段中的最新数据

一.思路:首先查询在某个时间段中最新时间的字段,然后用查到的字段与原来的表作自连接,最后对自连接后的表进行所需字段的查询. 二.sql语句: SELECT *FROM ( SELECT max(i.createDate) AS createDate, r.websiteConfigInfo_id AS webId FROM run r WHERE r.staticsEndTime BETWEEN : beginTime AND : endTime AND r.websiteConfigInfo_

ORACLE中能否找到未提交事务的SQL语句

  在Oracle数据库中,我们能否找到未提交事务(uncommit transactin)的SQL语句或其他相关信息呢?  关于这个问题,我们先来看看实验测试吧.实践出真知. 首先,我们在会话1(SID=63)中构造一个未提交的事务,如下所: SQL> create table test   2  as   3  select * from dba_objects;   Table created. SQL> select userenv('sid') from dual;   USEREN

hibernate运行后的控制台中查看sql语句

在hibernate.cfg.xml文件中选择在configuration模式下

symfony中,使用原声的sql语句

1 /** 2 * 数组形式的原生sql 3 */ 4 public function arrayA(array $did) 5 { 6 $statement = $this->getEntityManager()->getConnection()->executeQuery(' 7 SELECT did, count(1) as num 8 FROM position_structure 9 WHERE did in (?) 10 AND status = 1 11 GROUP BY

如何随机从数据库表中抽一条数据的SQL语句

NewID() 方法返回一个 GUID,如:EE95A489-B721-4E8A-8171-3CA8CB6AD9E4 在 select 表的时候,再增加一列为 NewID() 就可以了. SQL 语句:select *, NewID() from table 这样每条记录后就会有一个随机的 GUID 值,我们再按这个 GUID 排一下序就可以达到乱序的效果. SQL 语句:select *, NewID() as random from table order by random 我们要想随机取