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. Redis入门--进阶详解

    Redis NoSql入门和概述 入门概述 互联网时代背景下大机遇,为什么用nosql 1.单机MySQL的美好年代 在90年代,一个网站的访问量一般都不大,用单个数据库完全可以轻松应付,在那个时候, ...

  2. Windows Server 2012 数据库定时备份

    为了数据的安全,我们在服务器上设置了每周备份一次,下面是具体步骤: 一.在文件客户端服务器创建db_backup.cmd的Windows命令脚本.输入以下内容(直接复制可能出错,请手动输入): @ec ...

  3. 查看/设置 mysql时区

    # 查看时区 show variables like '%time_zone%'; # 设置全局 set global time_zone='+8:00';  # 设置当前会话 set time_zo ...

  4. 巧用HashMap一行代码统计单词出现次数

    简介 JDK是在一直在迭代更新的,很多我们熟悉的类也悄悄的添加了一些新的方法特性.比如我们最常用的HashMap. 今天给大家讲一下HashMap在JDK8中添加的两个新方法compute和merge ...

  5. 认证授权:学习OIDC

    前言 上一篇文章介绍了OAuth2.0协议的相关内容,知道OAuth2.0是一个授权协议,无法提供完善的身份认证功能.那么什么来解决身份认证功能呢?——OIDC是一个不错的解决方案.接下来进一步来了解 ...

  6. 一个简单的Android音乐播放器

    Android小白的期末作业 Android期末项目,仅用作学习使用,在线音乐部分只获取了网易云热歌榜,API来自鼻子亲了脸 传送门: GitHub 参考: anddiencn 实现功能 展示出本地的 ...

  7. 如何成为一位合格的ScrumMaster

    嗨,大家好,我是叶子 ScrumMaster的职责简单理解为:确保团队按照scrum的方式运行,团队的教练,帮助团队更好的工作,过程中的执行者,能够在team和po之间平衡.移除项目进度的障碍,保护团 ...

  8. java服务端实现微信小程序内容安全

    请参考微信官方文档:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/sec-check/security.i ...

  9. unity 着色器内置宏

    目标平台 Macro: Target platform: SHADER_API_D3D11 Direct3D 11 SHADER_API_GLCORE Desktop OpenGL “core” (G ...

  10. Pets(匈牙利算法)

    Are you interested in pets? There is a very famous pets shop in the center of the ACM city. There ar ...