您的位置:首页 > 其它

hibernate学习笔记第四天(1)

2017-03-22 16:13 169 查看
此文章为自己书写,在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类型

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息