`

Hibernate Qurey

    博客分类:
  • SSH
 
阅读更多
       之前学过一段时间的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语句
分享到:
评论

相关推荐

    HQL(Hibernate Query Language):

    Hibernate Query Language(HQL)是Hibernate框架中用于操作对象关系映射(ORM)的一种查询语言。它是面向对象的,设计目的是让开发人员可以使用对象而不是数据库表进行查询,从而简化了与数据库交互的过程。HQL的...

    Hibernate Query Language

    标题:Hibernate Query Language 描述:Hibernate Query Language培训教材 知识点详解: ### 1. Hibernate Query Language(HQL)概述 Hibernate Query Language,简称HQL,是Hibernate框架中用于执行数据库查询...

    Hibernate Tutorial 09 Hibernate Query Language

    # Hibernate Query Language (HQL): An Object-Oriented Variant of SQL ## 一、引言 Hibernate 是一款流行的 Java 持久层框架,它极大地简化了对象与关系数据库之间的映射过程。Hibernate Query Language(简称 ...

    \Hibernate_query条件查询

    1. **HQL(Hibernate Query Language)** HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的对象是对象而非表。例如,要获取所有用户,可以使用以下HQL语句: ```java Query query = session....

    Hibernate-HQL-查询-Query资料

    在Hibernate中,HQL(Hibernate Query Language)是专为ORM设计的一种面向对象的查询语言,它允许开发者以类和对象的方式进行数据查询,而不是直接使用SQL。本资料主要涵盖了Hibernate HQL查询的基本概念、语法以及...

    Hibernate SQLQuery 本地查询

    在Java的持久化框架Hibernate中,SQLQuery是用于执行自定义SQL语句的重要工具,它允许开发者绕过ORM(对象关系映射)的抽象层,直接与数据库进行交互。这篇博客"Hibernate SQLQuery 本地查询"可能详细讲解了如何利用...

    hibernate query调用oracle存储过程

    本篇文章将深入探讨如何使用Hibernate的Query接口来调用Oracle的存储过程和函数,以及提供相关的示例代码和数据库文件。 首先,让我们了解什么是存储过程和函数。存储过程是预编译的SQL语句集合,可以接受参数、...

    Hibernate中的query 分页.doc

    本文将探讨Hibernate中两种主要的分页方式:`query.scroll()`和使用`query.setFirstResult(), query.setMaxResults()`。 首先,`query.scroll()`方法基于JDBC 2.0的可滚动结果集实现。这种方式允许应用程序在结果...

    Hibernate_query聚合函数查询.

    首先,让我们了解一下Hibernate中的HQL(Hibernate Query Language),它是Hibernate提供的面向对象的查询语言,类似于SQL,但更贴近于Java。在HQL中,我们可以方便地使用聚合函数进行数据处理。例如,如果你想要...

    Hibernate_Query查询所有数据

    在执行查询时,Hibernate提供了Query和Criteria API来实现这一目标。 1. **使用HQL(Hibernate Query Language)** HQL是Hibernate特有的查询语言,类似于SQL,但更面向对象。查询所有数据的HQL语句如下: ```...

    maven+hibernate

    8. **查询**: Hibernate支持HQL(Hibernate Query Language)和 Criteria API,它们提供了面向对象的查询方式。另外,还可以使用原生的SQL查询并通过`@NamedNativeQuery`进行配置。 在这个"Spring4Hibernate5MVC...

    Hibernate_query查询数据表中的一个字段.

    Hibernate提供了一种灵活的查询语言——HQL(Hibernate Query Language),以及 Criteria 查询和 Criteria API,它们都可以用来获取数据表中的特定字段。 二、Hibernate配置 在使用Hibernate进行查询前,首先需要...

    hibernate的jar包

    6. **Criteria查询**:除了HQL(Hibernate Query Language)外,Hibernate还提供了Criteria API,一种类型安全的动态查询方式,可以根据条件构造查询。 7. **第二级缓存**:Hibernate支持二级缓存,通过插件如...

    hibernate 实践 Query详解

    在这个“hibernate 实践 - Query详解”的主题中,我们将深入理解如何使用Query接口来执行SQL查询,并绑定参数。 1. **Query接口** Query接口是Hibernate提供的一种用于执行HQL(Hibernate查询语言)或SQL查询的API...

    Hibernate_Query_Language基础认识.rar

    **Hibernate Query Language(HQL)基础认识** Hibernate Query Language(HQL)是Hibernate框架中用于操作对象关系映射(ORM)的一种查询语言。它类似于SQL,但专为面向对象编程设计,使得开发者能够以类和对象的...

    SQLib:Criteria Builder和Hibernate Query Builder的更简单和自定义的实现

    SQLib是一个针对Java开发者的库,它提供了一个更为简洁且可定制化的实现,用于替代标准的JPA Criteria Builder和Hibernate Query Builder。这个库的主要目标是简化数据库查询的构建过程,同时保持灵活性,允许开发者...

    hstreams:Hibernate Query API之上的JDK 8包装器

    Hibernate Query API之上的JDK 8包装器 特征 检索可选查询结果 查询到流的转换 输入查询 当前兼容性: / 请参阅总结了引入的更改的文档 设置 为了开始和运行,只需将工件添加到您的Maven / Gradle构建中。 ...

    hibernate3全部jar包:hibernate3.jar.zip 下载

    Hibernate3引入了许多增强功能,如Criteria查询、HQL(Hibernate Query Language)以及对JPA(Java Persistence API)的支持,提供了更丰富的查询方式和更高的灵活性。 hibernate3.jar是主要的Hibernate库文件,...

    Hibernate3的依赖包

    Query API允许用户用HQL(Hibernate Query Language)编写查询,而Criteria API则提供了一种更面向对象的查询方式。 4. **Transaction管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务,确保数据操作的...

    Hibernate,hibernate笔记

    3. **HQL(Hibernate Query Language)**: HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的是对象而不是表。例如,`from+对象名`的查询语句可以获取所有对象实例。HQL语句中的类名应与JavaBean的...

Global site tag (gtag.js) - Google Analytics