HQL数据查询基础

来源:互联网 发布:java接口对于耦合实例 编辑:程序博客网 时间:2024/06/07 05:15

了解HQL

HQL定义

1、Hibernate Query Language,Hibernate查询语言。
2、HQL是面向对象的查询语言。
        HQL    映射配置的持久化类及其属性
        SQL    数据库表
 3、HQL提供了丰富灵活的查询特性。

HQL语句形式

    select...from...where...group by...having...order by...

注意问题

1、HQL是面向对象的查询语言,对Java类与属性大小写敏感。
2、HQL对关键字不区分大小写

准备查询

Query接口简介

org.hibernate.Query接口
1、Query接口定义有执行查询的方法
    HQL语句通过Hibernate解析HQL语句为SQL语句
2、Query接口支持方法链编程风格,使得程序代码更加简洁。

Query实例的创建

1、Session的createQuery()方法创建Query实例
2、createQuery方法包含一个HQL语句参数,createQuery(hql)

Query执行查询

1、Query接口的list()方法执行HQL查询
2、list()方法返回结果数据类型为java.util.List,List集合中存放符合查询条件的持久化对象

from子句中持久化类的引用

1、不需要引入持久化类的全限定名,直接引入类名

from子句中别名的应用

1、为被查询的类指定别名
2、在HQL语句其他部分通过别名引用该类
3、别名命名习惯,一般为类名的小写

选择--select子句

以Object形式返回查询结果
1、select子句中未指定返回数据类型,默认为Object[]
2、以List形式返回
    select子句中使用new list指定
以Map形式返回
    1、select子句中使用new Map指定
    2、key值为索引值,字符串类型
以自定义类型返回
1、持久化类中定义对应的构造器
2、select子句中调用定义的构造器
通过distinct关键字返回不重复的查询结果
集合运算
1、is [not] empty集合[不]为空,不包含任何元素
2、member of 元素属于集合
四则运算
1、HQL语句中也可以使用+ - * /四则运算
2、四则运算可以在where子句和select子句中使用
查询单个对象
1、Query接口的uniqueResult方法
2、where子句条件设置

原创粉丝点击