【JavaEE—Hibernate】hql查询简介

来源:互联网 发布:56式军装淘宝 编辑:程序博客网 时间:2024/06/07 10:47

hql查询

1 hql:hibernate query language,hibernate提供一种查询语言,hql语言和普通sql很相似,区别:普通sql操作数据库表和字段,hql操作实体类和属性
2 常用的hql语句
(1)查询所有: from 实体类名称
(2)条件查询: from 实体类名称 where 属性名称=?
(3)排序查询: from 实体类名称 order by 实体类属性名称 asc/desc
3 使用hql查询操作时候,使用Query对象
(1)创建Query对象,写hql语句
(2)调用query对象里面的方法得到结果

查询所有

1 查询所有客户记录
(1)创建Query对象,写hql语句
(2)调用query对象里面的方法得到结果
2 查询所有: from 实体类名称

这里写图片描述

条件查询

1 hql条件查询语句写法:
(1)
from 实体类名称 where 实体类属性名称=? and实体类属性名称=?
from 实体类名称 where 实体类属性名称 like ?

这里写图片描述

模糊查询

这里写图片描述

排序查询

1 hql排序语句写法
(1)from 实体类名称 order by 实体类属性名称 asc/desc

这里写图片描述

分页查询

1 mysql实现分页
(1)使用关键字 limit实现
这里写图片描述
2 在hql中实现分页
(1)在hql操作中,在语句里面不能写limit,hibernate的Query对象封装两个方法实现分页操作

这里写图片描述

投影查询

1 投影查询:查询不是所有字段值,而是部分字段的值
2 投影查询hql语句写法:
(1)select 实体类属性名称1, 实体类属性名称2 from 实体类名称
(2)select 后面不能写 * ,不支持的

3 具体实现
这里写图片描述

聚集函数使用

1 常用的聚集函数
(1)count、sum、avg、max、min
2 hql聚集函数语句写法
(1)查询表记录数
- select count(*) from 实体类名称

这里写图片描述

直接把object类型转int类型是会报错的,所以必须得如上代码那样先转为Long,再转为int类型。

8 1