之前学过一段时间的Hibernate,但是没有在项目中真正使用,工作第三周,每天还是在单位学习一些即将要启动的项目要用到的知识,好在项目已经启动了,就等项目经理搭建好环境了.在还没正式投入项目中,闲暇之余把公司之前的项目剥离开一个模块自己试着做一做,发现自己连最基本的Hibernate的用法都忘的差不多了,今天先把Hibernate中最常用到的Query总结一下,以便自己之后回来查看,如果可以帮到大家就更好了.
1、分页查询
@Test
public class TestQuery{
public void query1(){
Session session = HibernateUtils.getSession();
Query query = session.createQuery("from Entity");
//分页查询
//每页显示3条记录,取出第2页的数据
int page = 2;
int rowsPerPage = 3;
query.setFirstResult((page -1)*rowsPerPage);
query.setMaxResult(rowsPerPage);
List<Entity> lists = query.list();
//对lists进行迭代
//PS:本人还是喜欢传统的迭代方式
for(int i = 0;i < lists.size();i ++){
Entity entity = lists.get(i);
System.out.println(entity.getXXX());
}
//一定要记住将session关闭
session.close();
}
}
PS : 大家可以测试一下,将hibernate.cfg.xml中方言的配置修改一下,打印出来的SQL语句 会自动生成分页的方式。
2、有参数的查询
public class TestQuery{
public void query2(){
Session session = HibernateUtils.getSession();
Query query = session.createQuery(
"from Person p where p.name=?");
//注意下标是从0开始
query.setParameter(0,"发哥");
List<Person> lists = query.list();
//对lists进行迭代
for(int i = 0;i < lists.size();i ++){
Person p = lists.get(i);
System.out.println(p.getName()+","+p.getAge());
}
//一定要记住将session关闭
session.close();
}
}
3、动态条件查询Criteria(criteria:n.标准、条件)
public void query3(){
Session session = HibernateUtils.getSession();
//查询age>50或者name="发哥"的人
Criteria cri = session.createCriteria(Emp.class);
cri.add((Restrictions.or(
Restrictions.ge("age",50),
Restrictions.eq("name","发哥"))));
List<Person> personList = cri.list();
for(int i =0;i < personList.size();i ++){
Person p = personList.get(i);
System.out.println(p.getAge()+","+p.getName()+","+p.getSex());
}
//关闭session
session.close();
}
由于时间的关系,今天先总结到这里,明天如果有时间的话,我会总结一下HQL语句
分享到:
相关推荐
Hibernate Query Language(HQL)是Hibernate框架中用于操作对象关系映射(ORM)的一种查询语言。它是面向对象的,设计目的是让开发人员可以使用对象而不是数据库表进行查询,从而简化了与数据库交互的过程。HQL的...
标题:Hibernate Query Language 描述:Hibernate Query Language培训教材 知识点详解: ### 1. Hibernate Query Language(HQL)概述 Hibernate Query Language,简称HQL,是Hibernate框架中用于执行数据库查询...
# Hibernate Query Language (HQL): An Object-Oriented Variant of SQL ## 一、引言 Hibernate 是一款流行的 Java 持久层框架,它极大地简化了对象与关系数据库之间的映射过程。Hibernate Query Language(简称 ...
1. **HQL(Hibernate Query Language)** HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的对象是对象而非表。例如,要获取所有用户,可以使用以下HQL语句: ```java Query query = session....
在Hibernate中,HQL(Hibernate Query Language)是专为ORM设计的一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询,而不是直接使用SQL。本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及...
在Java的持久化框架Hibernate中,SQLQuery是用于执行自定义SQL语句的重要工具,它允许开发者绕过ORM(对象关系映射)的抽象层,直接与数据库进行交互。这篇博客"Hibernate SQLQuery 本地查询"可能详细讲解了如何利用...
本篇文章将深入探讨如何使用Hibernate的Query接口来调用Oracle的存储过程和函数,以及提供相关的示例代码和数据库文件。 首先,让我们了解什么是存储过程和函数。存储过程是预编译的SQL语句集合,可以接受参数、...
本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult(), query.setMaxResults()`。 首先,`query.scroll()`方法基于JDBC 2.0的可滚动结果集实现。这种方式允许应用程序在结果...
首先,让我们了解一下Hibernate中的HQL(Hibernate Query Language),它是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java。在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要...
在执行查询时,Hibernate提供了Query和Criteria API来实现这一目标。 1. **使用HQL(Hibernate Query Language)** HQL是Hibernate特有的查询语言,类似于SQL,但更面向对象。查询所有数据的HQL语句如下: ```...
8. **查询**: Hibernate支持HQL(Hibernate Query Language)和 Criteria API,它们提供了面向对象的查询方式。另外,还可以使用原生的SQL查询并通过`@NamedNativeQuery`进行配置。 在这个"Spring4Hibernate5MVC...
Hibernate提供了一种灵活的查询语言——HQL(Hibernate Query Language),以及 Criteria 查询和 Criteria API,它们都可以用来获取数据表中的特定字段。 二、Hibernate配置 在使用Hibernate进行查询前,首先需要...
6. **Criteria查询**:除了HQL(Hibernate Query Language)外,Hibernate还提供了Criteria API,一种类型安全的动态查询方式,可以根据条件构造查询。 7. **第二级缓存**:Hibernate支持二级缓存,通过插件如...
在这个“hibernate 实践 - Query详解”的主题中,我们将深入理解如何使用Query接口来执行SQL查询,并绑定参数。 1. **Query接口** Query接口是Hibernate提供的一种用于执行HQL(Hibernate查询语言)或SQL查询的API...
**Hibernate Query Language(HQL)基础认识** Hibernate Query Language(HQL)是Hibernate框架中用于操作对象关系映射(ORM)的一种查询语言。它类似于SQL,但专为面向对象编程设计,使得开发者能够以类和对象的...
SQLib是一个针对Java开发者的库,它提供了一个更为简洁且可定制化的实现,用于替代标准的JPA Criteria Builder和Hibernate Query Builder。这个库的主要目标是简化数据库查询的构建过程,同时保持灵活性,允许开发者...
Hibernate Query API之上的JDK 8包装器 特征 检索可选查询结果 查询到流的转换 输入查询 当前兼容性: / 请参阅总结了引入的更改的文档 设置 为了开始和运行,只需将工件添加到您的Maven / Gradle构建中。 ...
Hibernate3引入了许多增强功能,如Criteria查询、HQL(Hibernate Query Language)以及对JPA(Java Persistence API)的支持,提供了更丰富的查询方式和更高的灵活性。 hibernate3.jar是主要的Hibernate库文件,...
Query API允许用户用HQL(Hibernate Query Language)编写查询,而Criteria API则提供了一种更面向对象的查询方式。 4. **Transaction管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务,确保数据操作的...
3. **HQL(Hibernate Query Language)**: HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的是对象而不是表。例如,`from+对象名`的查询语句可以获取所有对象实例。HQL语句中的类名应与JavaBean的...