我是根据我的数据库来查询的:
一、对象导航查询
(1)根据id查询某个客户,再查询这个客户里面所有的联系人
(2)代码:
二、OID查询
(1)根据id查询某一条记录,返回对象
(2)调用session里面的get方法实现
三、hql查询
1.hibernate query language,hibernate提供一种查询语言,hql语言和普通sql很相似,但是最大的区别:普通sql不能操作数据库表和字段,hql操作实体类和属性;
2.写hql语句实现查询——用Query对象:
(1)创建Query对象,写hql语句
(2)调用query对象里面的方法得到结果
3.常用的hql语句
(1)查询所有:from 实体类名称
(2)条件查询:
——from 实体类名称 where 属性名称=?and 实体类属性名称=?
——模糊查询:from 实体类名称 where 实体类名称属性 like ?
(3)排序查询:
——from 实体类名称 order by 实体类属性名称 asc/desc
上述查询方式的sql语句:
4.其余的查询
(1)分页查询
【1】mysql实现分页:select * from t_customer LIMIT 0,3;(开始位置为0,每页显示3条记录)
【2】在hql中实现分页语句不能写limit,Query对象封装的两个方法实现分页操作
(2)投影查询
【1】查询部分字段的值;
【2】hql语句的写法:select 实体类属性名称1,实体类属性名称2 from 实体类名称;
(select 后面不能写*,不支持的)
(3)聚集函数使用
【1】常用的聚集函数:count、sum、max、min
【2】查询表记录数:select count(*) from t_customer(实体类名称)