HQL基础:
查询所有属性 from Object
指定表别名 select s.name from Object as;/select s.name from Object s;
查询指定属性 select s.name n.name from Object1 s,Object2 n;
where子句
distinct
删除对象 delete Object s where s.name=???;
更新对象 update Object set s.name=value where Object.name=??;
查询并计算属性值 select s.age-6 from Object s;
使用函数 low小写 count计数 sum求和 max求最大值 min求最小值 avg
between。。and / not between。。and
in / not in
like
and /or
order by
group by having
HQL进阶:
1,HQL查询中一个查询一个父类的同时会默认查询他的子类
2,限制查询数据条数
Query有两个函数 setFristResult和setMaxResult分别设置查询的第一个数据行的索引和最大查询数
这样的话 我们能使用这个方式来实现分页功功能
3,使用绑定参数
1, 我们在hql中直接使用程序变量如: String hql="select a from Object a whre a.name="+name;
这种方式如意被别人使用sql注入攻击
2,查询语句中以“:”开头的变量叫做命名参数,把命名参数和一个具体的值进行绑定的过程 叫做绑定参数 如:
String hql="from Oblect where name=:name and age>:age";
Query query=session.createQuery(hql); //创建查询
query.setParameter("name","李晓梅"); //进行绑定
query.setParameter("age",new Integer(20));
4,在hbm.xml中配置HQL语句
<hibernate-mapping> <class name="Object" table="table" catalog="joblog"> <!--此处省略了配置--> </class> <query name="searchStudent"> <![CDATA[ from Student s where s.sage>22 ]]> </query> </hibernate-mapping>
如何取出使用HQL语句:
Session session=Hsf.currentSession();//创建Session Query query=session.getNamedQuery("searchStudent"); //用getNamedQuery得到查询 List list=query.list(); //执行查询 Iterator it=list.iterator(); while(it.hasNext()){ Student stu=(Student)it.next(); System.out.println(stu.getSname()); }
5,子查询
带in的子查询:
from Object where name in(from Object2 where Object2.name="value");
比较子查询:
from Student s where s.sdept=(select s.sdept from s where s.sname='李晓梅')
带有and和or的子查询:
使用ANY或者ALL谓词时,必须同时使用比较运算符。查询其他系中比计算机系任一学生 年龄小的学生名单如:>ANY,大于子查询结果中的某个值>ALL,大于子查询中的所有值
6,Hibernate多表查询
多表之间的关系:表的关系映射
左外连接
右外连接
相关推荐
Hibernate中HQL语句的使用 HQL(Hibernate Query Language)是 Hibernate 框架中的一种查询语言,它允许开发者使用面向对象的方式来查询数据库。HQL语句的使用是Hibernate中最重要的部分之一,本文将详细介绍HQL...
### Hibernate中HQL语句查询学习笔记 #### HQL基础 **HQL**(Hibernate Query Language)是Hibernate框架推荐使用的查询语言,它提供了一种面向对象的方式来查询数据库,支持多种复杂的查询操作,如继承、多态及...
hibernate-HQL语句大全
"Hibernate-HQL语句多对多写法" Hibernate 是一个流行的 Java 持久层框架,它提供了强大的对象关系映射(ORM)功能,使得开发者可以方便地与数据库交互。但是,在使用 Hibernate 时,我们经常会遇到多对多关系的...
【hibernate的HQL语句】是Hibernate框架中用于操作数据库的重要组成部分,它是一种面向对象的查询语言,类似于SQL,但更加强调对象的概念。HQL能够处理复杂的对象关系,如继承、多态和关联,使得在进行SSH(Spring、...
Hibernate框架中,在使用HQL语句时,需要传递参数,而在HQL语句中使用in关键字时,需要特别注意参数的传递方式。在本文中,我们将讨论如何在HQL语句中使用in关键字带参数的写法,以及解决相关问题的方法。 一、HQL...
对Hibernate中HQL语句的讲解
Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 Hibernate HQL 查询语句的知识点总结...
HQL的全称是?...HQL语句为:select jd.jdid,jd.jd from TblJd jd。怎样获得并显示查询结果? 使用'?'做占位符的参数查询,怎样设置参数的值? 命名参数查询的语法是? 怎样创建Criteria查询对象?
例如,如果你有一个User实体,你可能想要查询所有年龄大于30岁的用户,HQL语句可能如下所示: ```java String hql = "FROM User WHERE age > :age"; Query query = session.createQuery(hql); query.setParameter(...
标题:“全面解析HQL语句 非常详细直接的HQL语句的功能介绍” 描述:“非常详细直接实用的HQL语句的功能介绍看过的人保准都说好” 本篇文章将深入探讨HQL(Hibernate Query Language)的核心功能及其在数据查询...
- 如果HQL语句中有参数,则需要为这些参数设置值。 ```java query.setParameter("eventTitle", "测试事件"); ``` 5. **执行查询并处理结果** - 调用Query对象的`list()`方法来执行查询,并返回一个包含查询...
例如,查询所有User对象的HQL语句为:“FROM User”。 二、HQL基本结构 1. SELECT子句:HQL支持多种选择项,包括属性、方法、计算表达式等,如“SELECT u.name FROM User u”。 2. FROM子句:指定查询的实体类,如...
Hibernate HQL基础练习小列子+数据库
基础查询是最简单的HQL语句,用于获取所有`Student`对象。例如: ```java from Student ``` 或 ```java select s from Student as s ``` 这里的`as`关键字可以省略,表示从`Student`表中选择所有记录。查询结果将...
### HQL语句详解:精通Hibernate查询语言 #### 引言 HQL(Hibernate Query Language)是Hibernate框架中用于执行数据库操作的一种强大的查询语言。它提供了面向对象的语法,允许开发人员以一种接近于编程语言的方式...
学习Hibernate 的HQL语句的不错选择,
#### 完整的HQL语句格式 一个完整的HQL查询语句格式如下: ``` Select/update/delete … from … where … group by … having … order by … asc/desc ``` - **Select**: 查询指定字段或对象。 - **Update/...
在项目中,我们需要将这些jar添加到类路径(classpath)中,以确保编译和运行时能够正确解析和执行HQL语句。 描述中提到的“对于应用hibernate框架进行开发时需要”,意味着在基于Hibernate开发项目时,HQL是一个...
HQL(Hibernate Query Language)是Hibernate框架中用于操作对象关系映射(ORM)的SQL-like语言,它允许开发者以面向对象的方式来查询数据库。HQL语句的语法结构与SQL相似,但更注重对象和类的概念。以下将详细介绍...