前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Hibernate查询方式之:HQL查询(需要使用的类是:Query)

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

作者头像
全栈程序员站长
发布2022-06-30 10:25:09
8040
发布2022-06-30 10:25:09
举报
文章被收录于专栏:全栈程序员必看

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.cn/100808.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021年7月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档