Hibernate 的HQL查询简介

2017-01-01 08:34

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 实体类名称

Hibernate 的HQL查询简介0

条件查询

1 hql条件查询语句写法:

(1)

from 实体类名称 where 实体类属性名称=? and实体类属性名称=?

from 实体类名称 where 实体类属性名称 like ?

Hibernate 的HQL查询简介1

模糊查询

Hibernate 的HQL查询简介2

排序查询

1 hql排序语句写法

(1)from 实体类名称 order by 实体类属性名称 asc/desc

Hibernate 的HQL查询简介3

分页查询

1 mysql实现分页

(1)使用关键字 limit实现

Hibernate 的HQL查询简介4

2 在hql中实现分页

(1)在hql操作中,在语句里面不能写limit,hibernate的Query对象封装两个方法实现分页操作

Hibernate 的HQL查询简介5

投影查询

1 投影查询:查询不是所有字段值,而是部分字段的值

2 投影查询hql语句写法:

(1)select 实体类属性名称1, 实体类属性名称2 from 实体类名称

(2)select 后面不能写 * ,不支持的

3 具体实现

Hibernate 的HQL查询简介6

聚集函数使用

1 常用的聚集函数

(1)count、sum、avg、max、min

2 hql聚集函数语句写法

(1)查询表记录数

- select count(*) from 实体类名称

Hibernate 的HQL查询简介7

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