HQL查询:
HQL查询,查询的基础是类所以Products是类名不是表名!
查询所有的行和列:
from Products
Session s = HibernateSessionFactory.getSession();
String sql = "";
sql = "from PetInfo";
Query q = s.createQuery(sql);
List list = q.list();
Iterator it = list.iterator();
while( it.hasNext() ){
PetInfo pet = (PetInfo)it.next();
System.out.println(pet.getPetCute()+" "+pet.getPetName());
}
s.close();
查询所有的行和部分的列:
select id,name,demo from Products
当查询所有列时,返回的集合中存储的是实体Bean对象
当查询部分列时,返回的集合中存储的是Object[]
Session s = HibernateSessionFactory.getSession();
String sql = "";
sql = "select petId,petName from PetInfo";
Query q = s.createQuery(sql);
List list = q.list();
Iterator it = list.iterator();
while( it.hasNext() ){
Object []obj = (Object[])it.next();
System.out.println(obj[0]+" "+obj[1]);
}
s.close();
精确查询:
from Products where name='2'
Session s = HibernateSessionFactory.getSession();
String sql = "";
sql = "from PetInfo where pet_name='aaa'";
Query q = s.createQuery(sql);
List list = q.list();
Iterator it = list.iterator();
while( it.hasNext() ){
PetInfo pet = (PetInfo)it.next();
System.out.println(pet.getPetCute()+" "+pet.getPetName());
}
s.close();
模糊查询:
from Products where name like '%2%'
"from Products where name like '%" + name + "%'"
Session s = HibernateSessionFactory.getSession();
String sql = "";
sql = "from PetInfo where (petName like '%o%' or petId<=10)";
//sql = "from PetInfo where not (petName like '%o%' or petId<=10)";
Query q = s.createQuery(sql);
List list = q.list();
Iterator it = list.iterator();
while( it.hasNext() ){
PetInfo pet = (PetInfo)it.next();
System.out.println(pet.getPetCute()+" "+pet.getPetName());
}
s.close();
条件查询:
from Products where id<3
范围查询:
from Products where id>3 and id<8
from Products where id between 3 and 8
子查询:
from Products where id not in(select id from Products where price>5.0)
逻辑语句:
and or not
from Products where id >3 and price<7.0
from Products where name='5' or price>7.0
分页查询:
sql = "from Products";
Query q = s.createQuery(sql);
//分页
q.setFirstResult(3); //从第几行开始取数据
q.setMaxResults(3); //总共取多少行数据
List list = q.list();
统计函数的使用:
count,max,avg
select count(pro) from Products pro
Session s = HibernateSessionFactory.getSession();
String sql = "";
sql = "select avg(petId) from PetInfo";
Query q = s.createQuery(sql);
List list = q.list();
Iterator it = list.iterator();
Object obj = q.uniqueResult();
ystem.out.println(((Float)obj).floatValue());
s.close();
查询的结果只有一个值时:
Object obj = q.uniqueResult();
分组,排序:
select count(counts) from Products group by counts
from Products order by price asc/desc
使用占位符:只能在where后面使用,单独使用,不能出现'%?%'
sql = "from Student where name=?";
Query q = s.createQuery(sql);
q.setString(0,"1");
分享到:
相关推荐
《Hibernate HQL查询语法详解》 Hibernate,作为Java领域中广泛应用的对象关系映射(ORM)框架,极大地简化了数据库操作。其内置的HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者以类和...
这里的关键点在于使用`createQuery`方法创建了一个HQL查询对象,并通过`setString`方法设置参数值,最后通过`list`方法执行查询并获取结果列表。 #### 三、分页查询 分页查询在处理大量数据时非常有用,可以有效地...
Hibernate HQL 查询语句总结 Hibernate HQL 查询语句是 Hibernate 框架中的一种查询语言,它提供了更加丰富的和灵活的查询特性,具有类似标准 SQL 语句的查询方式,同时也提供了更加面向对象的封装。以下是 ...
hibernate HQL 查询教程 管理 Session ThreadLocal 接口的使用
### Hibernate HQL 查询详解 #### 一、HQL 概述 Hibernate 提供了一种非常强大的查询语言——HQL(Hibernate Query Language),它在语法上与 SQL 类似但功能更为强大,因为它支持面向对象的特性,例如继承、多态性...
### Hibernate HQL 关联查询详解 #### 一、引言 在进行数据库操作时,关联查询是必不可少的一部分,尤其在处理复杂的数据结构时更是如此。Hibernate作为一种流行的Java持久层框架,提供了强大的对象关系映射(ORM...
**Hibernate HQL查询** Hibernate Query Language(HQL)是Hibernate框架提供的一种面向对象的查询语言,它是基于Java的,但其语法与SQL类似,用于在Java应用中操作对象。HQL允许开发者用类名和属性名而不是表名和...
HQL查询是Hibernate的核心功能之一,它能让我们以类和对象的方式来查询数据。基本语法如下: ```java Query query = session.createQuery("from EntityName where property = ?"); query.setParameter(0, value); ...
本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及实际应用。 1. **HQL概述** - HQL是Hibernate提供的面向对象的查询语言,与SQL类似,但更加面向对象,将数据库表映射为Java类,表中的行映射为类的对象。 ...
以上内容涉及了使用 HQL 和 DetachedCriteria 进行查询、参数化查询、执行更新操作以及简单的统计查询等常见的 Hibernate 操作。这些知识点对于理解和掌握 Hibernate 框架的基本使用至关重要,同时也是开发基于 ...
### Hibernate HQL 基本查询详解 #### 一、HQL 概述 HQL (Hibernate Query Language) 是一种面向对象的查询语言,由 Hibernate 官方提供,用于简化数据库查询过程。与传统的 JDBC 方式相比,使用 HQL 进行数据库...
下面是一个简单的Java程序示例,展示了如何在Java中使用Hibernate框架执行HQL查询: ```java import java.util.List; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate....
1. **执行HQL查询**:在Java代码中,使用`Session`对象的`createQuery()`或`createNativeQuery()`方法创建HQL查询,然后调用`list()`或`uniqueResult()`等方法获取查询结果。 2. **处理查询结果**:将查询结果转换...
Hibernate 查询语言 HQL Hibernate 查询语言 HQL 是一种面向对象的查询语言,用于检索对象。它提供了灵活多样的查询机制,包括导航对象图、通过标识符检索、使用 HQL 检索对象、使用 Hibernate 条件 API 和使用本地...
hibernate hql 语法学习的文档
本程序“HibernateHql综合测试小程序”是针对Hibernate中的HQL(Hibernate Query Language)进行的一系列功能测试,涵盖了二十多种不同的HQL语句,旨在帮助开发者深入理解和熟练运用Hibernate的查询能力。...
【标题】:深入理解Hibernate的查询机制:HQL查询 【描述】:在ORM框架Hibernate中,数据查询和检索是一个核心功能,它提供了多种查询方式,包括标准化对象查询(Criteria Query)、Hibernate查询语言(HQL)和原生...
Hibernate 中,HQL(Hibernate Query Language)是一种面向对象的查询语言,它允许开发者用类名、属性和关联来编写查询,而不是直接使用数据库的SQL语句。HQL的基础包括了各种查询条件的设定,这些条件使得我们可以...
【Hibernate HQL 深度历险】是一个关于掌握Hibernate查询语言高级特性的技术主题。Hibernate Query Language(HQL)是Hibernate框架提供的面向对象的查询语言,它与SQL类似但针对对象模型,允许开发者直接查询对象而...