HQL:Hibernate专属语言,可以跨数据库

一、基本查询

 1 public void testQuery(){
2 Session session = HibernateUtils.getSession();
3 String hql = "from Person";
4 Query query = session.createQuery(hql);
5 List<Person> list = query.list();
6 for(Person p : list){
7 System.out.println(p);
8 }
9 HibernateUtils.close(session);
10 }

  单个属性列查询

1 //查询单个属性
2 String hql = "select p.pname from Person p";
3 Query query = session.createQuery(hql);
4 List<String> list = query.list();

  多个属性查询

1 //查询多列
2 String hql = "select p.id,p.pname from Person p";
3 Query query = session.createQuery(hql);
4 List<Object[]> objArrList = query.list();
5 for(Object[] objArr : objArrList){
6 System.out.println("编号:"+objArr[0]+" 姓名:"+objArr[1]);
7 }

二、Hibernate分页查询

1 Session session = HibernateUtils.getSession();
2 String hql = "from Person";
3 Query query = session.createQuery(hql);
4 //设置分页查询
5 query.setFirstResult(0);
6 query.setMaxResults(5);
7 List<Person> list = query.list();

三、限定查询

String hql = "from Person  where id = ?";
Query query = session.createQuery(hql);
query.setParameter(0, 5);
List<Person> list = query.list();
1 Session session = HibernateUtils.getSession();
2 String hql = "from Person where id = :id";
3 Query query = session.createQuery(hql);
4 query.setParameter("id", 5);
5 List<Person> list = query.list();

四、统计查询

1 String hql = "select count(*) from Person p";
2 Query query = session.createQuery(hql);
3 Object result = query.uniqueResult();

五、分组统计查询

1 String hql = "select avg(p.salary),p.pgender from Person p group by p.pgender";
2 Query query = session.createQuery(hql);
3 List<Object[]> objArrList = query.list();

六、投影查询

建立一个业务Bean,在bean提供有参的构造器来接收sql的返回值,创建出对象

七、排序查询

1 String hql = "from Person p order by p.salary desc";
2 Query query = session.createQuery(hql);
3 List<Person> list = query.list();

八、从配置文件中设置查询,然后提取

在 Person.hbm.xml配置文件中
1 <query name="getPerson">
2 <![CDATA[
3 from Person p where p.salary > 400
4 ]]>
5 </query>
1 Query query = session.getNamedQuery("getPerson");
2 List<Person> list = query.list();

Hibernate4.3 HQL查询的更多相关文章

  1. Hibernate--------八大类HQL查询集合

    Hibernate的   八大类HQL查询集合 Hibernate的八大类HQL查询集合: 一:属性查询(SimplePropertyQuery) 1,单一属性查询 *返回结果集属性列表,元素类型和实 ...

  2. [NHibernate]HQL查询

    目录 写在前面 文档与系列文章 查询的几种方式 HQL查询 一个例子 总结 写在前面 上篇文章介绍了nhibernate在项目中的基本配置,包括数据库连接字符串的设置,映射文件的配置及需注意的地方,这 ...

  3. hibernate学习(7)——HQL查询

    1.HQL查询定义 Hibernate查询分类: 1. get/load 根据OID检索 2. 对象视图检索 c.getOrders 3. Sql语句 createSqlQuery 4. Hql语句 ...

  4. HQL查询——聚集函数

    HQL查询--聚集函数 HQL也支持在选出的属性上使用聚集函数.HQL支持的聚集函数与SQL的完全相同: (1)avg:计算属性平均值: (2)count:统计选择对象的数量: (3)max:统计属性 ...

  5. HQL查询——关联和连接

    HQL查询--关联和连接 为了便于理解有关的使用关联和连接进行HQL查询,首先提供两个具有关联关系的持久化类:Person类和MyEvent类 Person类: import javax.persis ...

  6. HQL查询——from子句

    HQL查询--from子句 1.from是最基本的HQL语句,from关键字后紧跟持久化类的类名: from Person 表示从Person持久化类中选出全部的实例. 2.推荐为持久化类的每个实例起 ...

  7. HQL查询——HQL查询的基本用法

    HQL查询--HQL查询的基本用法 1.HQL语法类似于SQL语法,但是需要注意的是,HQL是一种完全面向对象的查询语言.SQL语言操作的对象是数据表.列等数据库对象,而HQL语言的操作对象是类.实例 ...

  8. 转: Hibernate HQL查询 插入 更新(update)实例

    1.实体查询:有关实体查询技术,其实我们在先前已经有多次涉及,比如下面的例子:String hql=”from User user ”;List list=session.CreateQuery(hq ...

  9. NHibernate系列文章二十二:NHibernate查询之HQL查询(附程序下载)

    摘要 NHibernate提供了多种查询方式,最早的HQL语言查询.Criteria查询和SQL Query,到NHibernate 3.0的Linq NHibernate,NHIbernate 4. ...

随机推荐

  1. [FJOI2020]世纪大逃亡 题解

    FJOI2020 D1T1 题目大意 给出一个由 $n$ 行 $m$ 列的点构成的网格,其中第 $1$ 行,第 $n$ 行,第 $1$ 列与第 $m$ 列为边界,给出 $s$ 个点,求这 $s$ 个点 ...

  2. Docker 镜像的备份恢复迁移

    在大家已经学会了如何构建镜像以后,为了备份该镜像,我们有以下几个选择: 我们可以将指定镜像保存成 tar 归档文件,需要使用时将 tar 包恢复为镜像即可: 登录 DockerHub 注册中心,将镜像 ...

  3. 我对Flutter的第一次失望

    老孟导读:此文翻译自:https://medium.com/@suragch/my-first-disappointment-with-flutter-5f6967ba78bf 我喜欢Flutter. ...

  4. UI 科学

    以简书为案例讲述「尼尔森十大可用性原则」 http://www.jianshu.com/p/a45e4ad68e20 你真的懂得尼尔森的十大可用性原则么? http://jy.sccnn.com/po ...

  5. Java的安装和配置

    1. 下载JDK 前往甲骨文官网(https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html)下载JDK,这里 ...

  6. Oracle12C配置对外访问

    Oracle12C配置对外访问 第一步: 开放端口或者关闭防火墙 第二步: 配置Oracle net manager打开Net manager 修改为共享服务器 第三步: 配置连接数打开Databas ...

  7. Zabbix下查看参数的小技巧

    我们在管理.维护Zabbix的时候,经常需要查看配置文件下的一些参数信息.下面介绍一些常用的小技巧. 1:我想知道zabbix_server.conf文件中配置了那些参数. # grep '^[a-Z ...

  8. .net core Configuration对象

    前因:最近在阅读.net core源码,发现关于Configuration介绍的文档都比较多,但是都比较杂乱,(微软文档太官方),所以写下一些自己的感想 主要通过三种使用情况来介绍 Web应用程序使用 ...

  9. java实现内网通信

    package newTest; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; ...

  10. Dubbo系列之 (七)链路层那些事(1)

    辅助链接 Dubbo系列之 (一)SPI扩展 Dubbo系列之 (二)Registry注册中心-注册(1) Dubbo系列之 (三)Registry注册中心-注册(2) Dubbo系列之 (四)服务订 ...