4、HQL

1、基本查询

1、不带条件的查询

Image(158)

2、带条件的查询

Image(159)

3、通过参数进行查询

Image(160)

4、 通过命名参数进行查询

Image(161)

5、查询空元素

Image(162)

2、常用查询

1、列表查询(in ())

Image(163)

2、投影查询

Image(164)

3、投影一个元素查询(注意:不能使用select *来查询

Image(165)

4、投影其他类型

Image(166)

5、单个元素查询(uniqueResult)

Image(167)

6、分页查询

Image(168)

3、基于对象的查询和sql原生查询

在Hibernate中还存在一种基于对象的查询

Image(169)

在Hibernate中可以直接使用sql语句进行查询(偶尔会使用)

Image(170)

4、连接查询

4.1、基于SQL 的查询

连接的三种方式

1、内连接(连接的两张表都有数据的连接)

   SELECT * FROM t_student t1 JOIN t_classroom t2 ON (t1.cla_id=t2.id)

   以上得到的数据是t_student和t_classroom中都有的数据

2、左外连接

  SELECT * FROM t_classroom t1 LEFT JOIN t_student t2 ON (t2.cla_id=t1.id)

  以上得到的结果是左边这张表的所有数据来连接右边这张表的数据,如果右表没有数据,会直接使用null来填充,这种在做统计时非常有用

Image(171)

3、右外连接

   SELECT * FROM t_classroom t1 RIGHT JOIN t_student t2 ON (t2.cla_id=t1.id)

   以上得到的是右表的所有数据,如果左表没有,就使用null来填充

4.2、基于Hibernate 的连接查询

1、使用对象导航链接(比较方便的一种操作方式)局限:只是内连接

Image(172)

2、使用连接操作方式

Image(173)

3、使用左连接(和sql完全一致)

Image(174)

4、使用右连接

Image(175)

posted @ 2015-12-06 20:11  拉风的风吹哥  阅读(153)  评论(0编辑  收藏  举报