Hibernate的检索方式

来源:互联网 发布:男生发型设计软件 编辑:程序博客网 时间:2024/05/21 17:50

HQL(Hibernate Query Language)

  • HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在
    Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能:

    • 在查询语句中设定各种查询条件
    • 支持投影查询, 即仅检索出对象的部分属性

    • 支持分页查询

    • 支持连接查询
    • 支持分组查询, 允许使用 HAVING 和 GROUP BY 关键字

    • 提供内置聚集函数, 如 sum(), min() 和 max()

    • 能够调用 用户定义的 SQL 函数或标准的 SQL 函数

    • 支持子查询

    • 支持动态绑定参数

OID 检索方式

按照对象的 OID 来检索对象

QBC 检索方式

使用 QBC(Query By Criteria) API 来检索对象. 这种 API 封装了基于字符串形式的查询语句, 提供了更加面向对象的查询接口.

简单的查询

这里写图片描述

使用别名

这里写图片描述

对查询结果排序

这里写图片描述

分页查询

  • 分页查询:

  • setFirstResult(int firstResult): 设定从哪一个对象开始检索, 参数 firstResult
    表示这个对象在查询结果中的索引位置, 索引位置的起始值为 0. 默认情况下, Query 从查询结果中的第一个对象开始检索

  • setMaxResult(int maxResults): 设定一次最多检索出的对象的数目. 在默认情况下, Query 和
    Criteria 接口检索出查询结果中所有的对象

这里写图片描述

检索单个对象

这里写图片描述

绑定参数的形式,按参数名称绑定

这里写图片描述

绑定参数的形式,按参数位置绑定

这里写图片描述

在映射文件中定义命名查询语句

这里写图片描述

hibernate检索方式

这里写图片描述

HQL和QBC支持的各种运算

这里写图片描述

HQL和QBC支持的各种运算

这里写图片描述

迫切左外连接

这里写图片描述

HQL测试

单表

这里写图片描述

junit测试结果:
这里写图片描述


这里写图片描述

这里写图片描述


这里写图片描述

这里写图片描述

顺序查询

这里写图片描述

一对多

等值连接

这里写图片描述

这里写图片描述

迫切内连接

这里写图片描述

这里写图片描述

这里写图片描述

左外连接

这里写图片描述

这里写图片描述

迫切左外连接

这里写图片描述

这里写图片描述

在页面上显示cname,sname

采用迫切内连接可以做
这里写图片描述

这里写图片描述

这里写图片描述

迫切左外连接
这里写图片描述

多对多

这里写图片描述

总结

*  页面上数据的字段和数据库中字段差不多    这个时候,采用迫切连接  结构比较好*  如果页面上的字段很少,要按照需求加载数据,采用带构造函数的select查询
0 0
原创粉丝点击