分组查询:

使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计

1.1 聚合函数:常被用来实现数据统计功能

① count() 统计记录条数

② sum() 求和

③ min() 求最小值

④ max() 求最大值

⑤ avg() 求平均值

使用分组查询  查询员工编号的平均值

Session session;
Transaction tx; @Before
public void initDate(){
session = HibernateUtil.getSession();
tx= session.beginTransaction();
} @After
public void afterTest(){
tx.commit();
HibernateUtil.closeSession();
}
@Test
public void avgEmpno(){ Emp emp=new Emp();
Object obj= session.createQuery("select avg(empNo)from Emp").uniqueResult();
System.out.println(obj); }

运行结果

经验:当select语句只是选择查询持久化类的部分属性时,Hibernate返回的查询结果为关系数据,而不是持久化对象,不会占用Session缓存。只要应用程序没有变量引用这些数据,它们占用的内存就会被Java虚拟机(JVM)的垃圾回收器回收。为了方便访问,可以定义一个JavaBean来包装查询结果中的关系数据,使应用程序依旧可以按照面向对象的方式来访问查询结果。

子查询:

检索薪资小于5000的员工的部门名称

 @Test
public void testChild(){ List<Dept> list = session.createQuery("from Dept d where 5000>all(select e.empNo from d.emps e)").list();
for (Dept dept : list) {
System.out.println(dept.getDeptName());
} }

原生sql

在部门的小配置 Dept.hbm.xml中插入<sql-query>节点

 <sql-query name="getDeptByName">

     select * from Y2162Dept where deptname=:deptname

     </sql-query>
     

测试类中添加如下代码

@Test
public void getDeptInfo(){ Query query =session.getNamedQuery("getDeptByName"); query.setParameter("deptname", "开发部");
List<Object[]>list=query.list();
for (Object[] dept : list) {
System.out.println(dept[1].getClass());
} }

Hibernate 分组查询 子查询 原生SQL的更多相关文章

  1. oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by

    select语句学习 . 创建表 create table user(user varchar2(20), id int); . 查看执行某条命令花费的时间 set timing on: . 查看表的 ...

  2. 【数据库】SQL经典面试题 - 数据库查询 - 子查询应用二

    上节课我们通过子查询,完成了查询的最高分学生的需求,今天我们来学习子查询的分类,以及通过子查询来完成工作中经常遇到一些个性化需求. 子查询概念: 一个SELECT语句嵌套在另一个SELECT语句中,子 ...

  3. 【知识库】-数据库_MySQL之基本数据查询:子查询、分组查询、模糊查询

    简书作者:seay 文章出处: 关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询 回顾:[知识库]-数据库_MySQL常用SQL语句语法大全示例 Learn [已经过测试校验] 一.简单查询 ...

  4. springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetomany

    springdata 查询思路:基本的单表查询方法(id,sort) ---->较复杂的单表查询(注解方式,原生sql)--->实现继承类---->复杂的多表联合查询 onetoma ...

  5. ylb: SQL表的高级查询-子查询

    ylbtech-SQL Server: SQL Server- SQL表的高级查询-子查询 SQL Server 表的高级查询-子查询. 1,ylb:表的高级查询-子查询返回顶部 --======== ...

  6. Python-select 关键字 多表查询 子查询

    sql 最核心的查询语句!!!! 增删改 单表查询 select语句的完整写法 关键字的书写顺序 执行顺序 多表查询 笛卡尔积 内连接 左外连接 右外连接 全外连接 通过合并左外连接和右外连接 子查询 ...

  7. MYSQL 查询方法 统计查询 链接查询 子查询

    mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据select Code,Name from Info --查指定列的数据select Code as ...

  8. MySQL的查询,子查询,联结查询,联合查询

    MySQL的查询,子查询,联结查询,联合查询 一.mysql查询的五种子句where(条件查询).having(筛选).group by(分组).order by(排序).limit(限制结果数) 二 ...

  9. Oracle的查询-子查询

    --子查询 --子查询返回一个值 --查询出工资和scott一样的员工信息 select * from emp where sal in (select sal from emp where enam ...

  10. coding++:mybatis 嵌套查询子查询column传多个参数描述

    mybatis 嵌套查询子查询column传多个参数如下: 2.代码示例 备注:注意,相同颜色的单词都是有关联的 <resultMap id="blogResult" typ ...

随机推荐

  1. DOM官方定义

    DOM Document Object Model 文档对象模型 DOM的官方定义:W3C的DOM,可以使程序或者脚本(JS或AS\JScript),动态的访问或者操作文档的内容.结构.样式. DOM ...

  2. luogg_java学习_08_设计模式_API

    这篇博客总结了1天整,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 , 设计模式 在长期开发过程中,为了解决某些固定问题, 总结出的 ...

  3. Java 集合框架

    Java集合框架大致可以分为五个部分:List列表,Set集合.Map映射.迭代器.工具类 List 接口通常表示一个列表(数组.队列.链表 栈),其中的元素 可以重复 的是:ArrayList 和L ...

  4. 12、ASP.NET MVC入门到精通——HtmlHelper

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 HtmlHelper:是为了方便View的开发而产生 HtmlHelper的演变 普通首页超级链接为:<a href="/h ...

  5. 20、ASP.NET MVC入门到精通——WebAPI

    本系列目录:ASP.NET MVC4入门到精通系列目录汇总 微软有了Webservice和WCF,为什么还要有WebAPI? 用过WCF的人应该都清楚,面对那一大堆复杂的配置文件,有时候一出问题,真的 ...

  6. jQuery Validation Engine 表单验证

    功能强大的 jQuery 表单验证插件,适用于日常的 E-mail.电话号码.网址等验证及 Ajax 验证,除自身拥有丰富的验证规则外,还可以添加自定义的验证规则. 兼容 IE 6+, Chrome, ...

  7. Json.NET读取和写入Json文件

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. 国外干货!6个方法助你设计出优秀的APP

    伟大的设计来源于一致性和细致化,而其实只要有足够的纪律,每个团队都可以实现这一点. 品牌(源码:http://www.jinhusns.com/Products/Download/?type=xcj) ...

  9. 【代码笔记】iOS-获取系统完成任务所需的后台时间

    一,代码. AppDelegate.h #import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplica ...

  10. iOS开发之功能模块--Apns推送中的的json格式介绍

    在开发向苹果Apns推送消息服务功能,我们需要根据Apns接受的数据格式进行推送.下面接受我在进行apns推送时候总结的一点apns服务接受的Json数据格式 示例 1: 以下负载包含哦一个简单的 a ...