自己学习心得:HQL数据查询基础

点击打开链接

1:HQL定义:

1.HQL---Hibernate Query Language,HIbernate的查询语言
2.HQL是面向对象的查询语言,面向的是映射配置的持久化类及其属性,而SQL面向的数据库表

3.Hibernate框架最终会将HQL语句解析成SQL语句来完成数据库操作

2:HQL语句形式:
1.select...from...where...group by...having...order by...
2.from子句不可或缺,一个最简单的HQL语句形式只有一个from子句即可

3:初学HQL注意的问题:
1.HQL是面向对象的查询语句,对Java类与属性大小写敏感
2.HQL对关键字不区分大小写,习惯上一律小写

4:Query接口简介:
1.org.hibernate.Query接口定义有执行查询的方法:
2.Query接口支持方法链编程风格,使得程序代码更为简洁(方法链编程:调用方法后,返回的结果依然是调用这个方法的对象)
3.Query实例的创建:
a.Session的createQuery()方法创建Query实例
b.createQuery方法包含一个HQL语句参数,createQuery(hql)
4.Query执行查询
a.Query接口的list()方法执行HQL查询
b.list()方法返回结果数据类型为java.util.List,List集合中存放符合查询条件的持久化对象

5:HQL语句最简形式
HQL:from
SQL:select from

6:from子句中持久化类的引用:
1.不需要引入持久化类的权限定名,直接引入类名
2.auto-import(自动引入)缺省情况,Hibernate会根据映射配置文件自动完成持久化类的导入

7:from子句中别名的引用:
1.为被查询的类指定别名
2.在HQL语句其他部分通过别名引用该类
3.别名命名习惯,参考Java变量的命名习惯

8:1、String hql="select id,name from Test1 as s ";
2、String hql="select s.id,s.name from Test1 as s ";

Ps1:别名使用不是必须的,但是后期多个表结合起来时,避免多个表中有字段名重复,推荐还是养成别名操作的习惯。
Ps2:当只查询一个属性时,即select 只有一个的时候,返回的类型是对象类型,而不是对象数组。

9:比较运算
1.=、<>、<、>、>=、<=
2.null值判断--is [not] null

10:在标准sql语句中 判断null只能使用is null 或者 is not null来判断,而在hql语句中,允许我们使用 = null来判断,这样的话,他会帮我们装换成sql语句中的is null。

11:范围运算
1.[not] in 列表
2.[not] between 值1 and 值2

12:字符串模式匹配
1.like关键字
2.通配符 %、_
%:任意个字符
_:一个字符

13:uniqueResult方法返回一个值,如果返回大于一个,会抛出异常

14:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值