hibernate学习笔记第四天(1)

来源:互联网 发布:全球云计算开源大会 编辑:程序博客网 时间:2024/06/05 15:02

此文章为自己书写,在Word上做的笔记,然后拷贝到这上边的,无任何抄袭。另外若是程序有任何问题可以评论,也可私信我。

若是想看具体第四天的代码可点击此处。

Hibernate查询方式

1.对象导航查询
(1)根据id查询出某个客户,再查询这个客户里边所有的联系人
2.OID查询
(1)根据id查询某一条记录,返回对象
3.hql查询
(1)Query对象,写hql语句实现查询
4.QBC查询
(1)Ceiteria对象
5.本地sql查询
(1)SQLQuery对象

对象导航查询

1.查询某个客户里面所有的联系人过程,使用对象导航查询
2.代码
这里写图片描述

OID查询

1.根据id查询某一条记录
(1)调用session里边的get方法进行查询
2.代码
这里写图片描述

HQL查询

1.HQL:hibernate query language提供一种查询语言,hql语言与普通sql语言相似,区别:普通sql操作数据库表和字段,hql操作实体类和属性
2.常用的hql语言
(1)查询所有:from 实体类名称
(2)条件查询:from 实体类名称 where 属性名称=?
3.使用hql查询操作时候,使用Query对象
(1)创建Query对象,写hql语句
(2)调用query对象的方法得到结果
查询所有
1.hql查询所有写法
(1)from 实体类名称
2.代码
这里写图片描述
条件查询
1.hql条件语句查询写法
(1)from 实体类名称 where 实体类属性名称=? and 实体类属性名称=?
from 实体类名称 where 实体类属性名称 like ?
2.代码
这里写图片描述
模糊查询:
这里写图片描述
排序查询
1.hql排序语句写法
(1)from 实体类名称 order by 实体类属性名称 asc/desc
(2)代码
这里写图片描述
分页查询
1.mysql实现分页
(1)使用关键字limit实现
2.用hql实现分页
(1)在hql操作中,语句中不能用limit,因为没有这个关键字,而hibernate的query对象封装了两个方法实现分页操作
3.代码:
这里写图片描述
投影查询
1.投影查询:查询的不是所有字段的值,而是部分字段的值,比如只查询某一个字段
2.投影查询的hql语句写法:
(1)select 实体类属性名称1, 实体类属性名称2 from 实体类名称
(2)select后边不能写*,因为不支持
3.具体实现
这里写图片描述
聚集函数查询
1.查用的聚集函数
(1)count/sum/avg/max/min
2.hql聚集函数语句的写法
(1)查询表中的记录数
select count(*) from 实体类的名称
返回的是一个Long类型
这里写图片描述
解决办法:先将Object类型转换成Long类型,再将Long类型转换成int类型
这里写图片描述

1 0