Hibernate查询方式之:HQL查询(需要使用的类是:Query)

Hibernate查询方式之:HQL查询(需要使用的类是:Query)

hibernate查询方式之:HQL查询方式:


HQL语句正对的是实体类的名称和实体类的属性进行操作


1.查询所有


格式:from 实体类名称


Query query = session.createQuery(“from User”);


List<User> list = query.list();


for(User u :list){


System.out.println(u);


}


2.条件查询


(1)from 实体类名称 where 实体类的属性名称=?;


Query query = session .createQuery(“from User u where u.name=? and u.id=?”);


//给?赋值,一般从0开始


query.setParameter(0,”kevin”);


query.setParameter(1,12);//表示name=kevin;id=12的数据信息


List<User> list = query.list();





(2)模糊查询:


格式:from 实体类名称 where 实体类属性名称 like ? ;


Query query = session.createQuery(“from User u where u.name like ?);


query.setParameter(0,k_);//以k开头,并且只有两个字母的数据信息


//query.setParameter(0,”%k%”);


List<User> list = query.list();


3.排序查询


使用关键字 order by


格式:from 实体类名称 order by 实体类属性名称 asc/desc //asc:升序 ;desc:降序


Query query = session.createQuery(“from User u order by u.id asc”);


List<User> list = query.list();





4.分页查询:


在mysql中分页查询方式:


select * from t_user limit 0,3;//从0开始,每页显示数据为3条


在hibernate中如何使用分页查询?


//先查询所有


Query query = session.createQuery(“from User”);


//设置开始查询位置


query.setFirstResult(0);


//设置每页查询的数据


query.setMaxResult(3);


List<User> list = query.list();





5.投影查询:就是查询部分,所有在泛型中要写Object类型


格式:select 实体类属性名称 from 实体类名称;


注意:不能使用* ;不支持这个*写法;


Query query = session.createQuery(“select u.name from User u”);


List<Object> list = query.list():





6.聚合函数查询


count avg sum max min


格式:


select 聚合函数  from 实体类名称


Query query = session.createQuery(“select count(*) from User”);


//调用的是uniquenResult()方法


//返回的是Object


//要转成成int类型,先强制转换成Long类型,在通过intValue()方法转换成Int方法


Object count = query.uniquenResult();


Long num = (Long)count


int number = num.intValue();


System.out.println(number);

补充:


在mysql中聚合函数的使用:

1) COUNT

  SELECT COUNT(*) FROM emp;

  –> 计算emp表中所有列都不为NULL的记录的行数

  SELECT COUNT(comm) FROM emp;

  –> 云计算emp表中comm列不为NULL的记录的行数

如果行数里面的内容全部为空,那么不计数了。

2) MAX

  SELECT MAX(sal) FROM emp;

  –> 查询最高工资

3) MIN

  SELECT MIN(sal) FROM emp;

  –> 查询最低工资

4) SUM

  SELECT SUM(sal) FROM emp;

  –> 查询工资合

5) AVG

  SELECT AVG(sal) FROM emp;

  –> 查询平均工资

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/100808.html原文链接:https://javaforall.net

(0)
上一篇 2021年7月10日 上午10:00
下一篇 2021年7月10日 上午11:00


相关推荐

  • Java xml 添加节点

    Java xml 添加节点建立一个xml文件test.xml,文件内容如下通过java操作生成xml节点的文件test.java,文件内容:packagecom.pb.test;importjava.io.FileOutputStream;importjavax.xml.parsers.DocumentBuilder;importjavax.xml.parsers.Docum

    2022年7月21日
    17
  • OpenClaw 对接企业微信配置教程

    OpenClaw 对接企业微信配置教程

    2026年3月18日
    2
  • 计算机组成原理:最详细笔记!

    计算机组成原理:最详细笔记!前言参考:《王道计算机组成原理》学习笔记总目录+思维导图2019王道考研计算机组成原理第一章计算机系统概述1.1计算机发展历程1.1.1计算机硬件的发展计算机系统=硬件+软件计算机硬件的发展:第一代计算机:(使用电子管),第二代计算机:(使用晶体管),第三代计算机:(使用较小规模的集成),第四代计算机:(使用较大规模的集成),已经经历了4代,计算机的速度越来越快,并且体积变得越来越小。发展趋势:更微型、多用途;更巨型、超高速晶体管之父:肖克利(1956年诺贝尔物

    2022年5月31日
    35
  • 软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容

    软件缺陷,缺陷报告怎么写_缺陷报告通常包括哪些内容软件缺陷软件缺陷:常常又被叫做Bug。所谓软件缺陷,即为计算机软件或程序中存在的某种破坏正常运行能力的问题、错误,或者隐藏的功能缺陷。缺陷的存在会导致软件产品在某种程度上不能满足用户的需要。从软件测试观点出发,软件缺陷有以下五大类:功能缺陷、系统缺陷、加工缺陷、数据缺陷、代码缺陷软件类别:缺陷的表现形式不仅体现在功能的失效方面,还体现在其他方面。主要类型有:软件没有实现产品规格说明所…

    2026年1月20日
    5
  • ELK日志分析系统搭建实战指南

    ELK日志分析系统搭建实战指南

    2026年3月15日
    2
  • 阿里版即梦发布,名为造点AI

    阿里版即梦发布,名为造点AI

    2026年3月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号