HQL数据查询基础

了解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子句条件设置

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值