`
gcgmh
  • 浏览: 355862 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hibernate的几个查询方法

阅读更多
一、总记录数查询方法
//参考代码   
//第一种方法:   
  String hql = "select count(*) from User as user";   
  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();   
  return count.intValue();   
  
//第二种方法:   
 String hql = "select count(*) from User as user";   
  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();   
  
//第三种方法:   
 String hql = "select count(*) from User as user";   
 Query query =  getHibernateTemplate().createQuery( getSession(),hql);   
 return ((Integer)query.uniqueResult()).intValue();   

//参考代码
//第一种方法:
  String hql = "select count(*) from User as user";
  Integer count = (Integer)getHibernateTemplate().find(hql).listIterator().next();
  return count.intValue();

//第二种方法:
 String hql = "select count(*) from User as user";
  return ((Integer)getHibernateTemplate().iterate(hql).next()).intValue();

//第三种方法:
 String hql = "select count(*) from User as user";
 Query query =  getHibernateTemplate().createQuery( getSession(),hql);
 return ((Integer)query.uniqueResult()).intValue();  


================================================================
	@Override
	public int getTotalRecord(int webId) {
		String hql = "SELECT COUNT(a.id) FROM com.babycms.pojo.TArticle a where a.siteId=" + webId;
		return ((Long) getHibernateTemplate().iterate(hql).next()).intValue();
	}



二、分页查询方法:
	public List<TArticle> getArticleByWebId(final int webId, final int start, final int maxSize) {
		
		return getHibernateTemplate().executeFind(new HibernateCallback(
				){
				
				@Override
				public Object doInHibernate(Session session) throws HibernateException,
						SQLException {
					String hql = "FROM com.babycms.pojo.TArticle a where a.siteId=" + webId;
					Query q = session.createQuery(hql);
					q.setFirstResult(start);
					q.setMaxResults(maxSize);
					return q.list();
				}
			});
	}
分享到:
评论

相关推荐

    Hibernate连表查询 Hibernate连表查询

    通过对HBM映射文件的理解、DAO层的连表查询实现以及查询结果的处理等几个方面进行了详细解释。在实际项目中,合理运用这些技巧可以极大地提高开发效率和代码质量。需要注意的是,在编写连表查询时要充分考虑性能问题...

    hibernate多表联合查询

    在Hibernate中,可以使用以下几种方式来实现多表联合查询: - **HQL (Hibernate Query Language)** - **Criteria API** - **Native SQL** 本文将重点介绍如何使用HQL和Native SQL来实现多表联合查询。 #### 三、...

    hibernateHQL关联查询

    通过本文的介绍,我们不仅回顾了数据库表连接的基础知识,还深入了解了Hibernate HQL关联查询的实现原理及应用方法。对于开发者而言,掌握HQL关联查询不仅可以提高查询效率,还能让代码更加简洁易懂。希望本文能帮助...

    HQL是hibernate自己的一套查询

    在上面的示例中,我们首先通过`HibernateUtil.getSession()`方法获取到一个`Session`实例,然后定义了一个HQL查询语句,该语句用于从`Admin`表中查询`aname`为`name`的所有记录。最后通过`createQuery`方法创建查询...

    Hibernate查询解决方案

    本文将详细介绍 Hibernate 提供的几种查询方式及其应用场景。 #### 二、重要知识点 ##### 1. Session 对象与查询操作 在 Hibernate 中,所有持久化操作都需要通过 Session 对象来完成,包括查询操作。Session ...

    Hibernate SQLQuery 查询Oracle char类型结果为一个字符解决方法

    ### Hibernate SQLQuery 查询Oracle char类型结果为一个字符的解决方法 在使用Hibernate框架结合Oracle数据库进行数据查询时,经常会遇到一个问题:当查询的结果集中包含char类型的字段时,Hibernate可能会将其映射...

    hibernate 影院信息查询

    系统主要包含以下几个模块: 1. 用户管理:用户登录、注册功能,以及权限验证。这部分可能涉及到Spring Security或者自定义的身份验证机制,用于确保用户安全访问系统。 2. 影院信息:存储和查询各个影院的基本...

    struts+hibernate查询所有记录

    为了实现Struts与Hibernate结合查询所有记录的功能,我们需要理解以下几个核心概念: 1. **DAO(Data Access Object)模式**:这是一种设计模式,用于封装对数据源访问的所有细节,包括查询、更新等操作。在本案例...

    Hibernate各种查询:联表查询 分页查询 位置参数查询(?) 占位符查询(冒号查询) 统计查询

    本篇文章将详细解析Hibernate中的几种主要查询方式,包括联表查询、分页查询、位置参数查询、占位符查询(冒号查询)以及统计查询,这些都是在实际开发中非常常见的需求。 首先,我们来看**联表查询**。在Hibernate...

    Hibernate操作数据库的方法

    Hibernate操作数据库时,主要通过以下几个核心组件来实现持久层操作: 1. **Session**:Session是Hibernate用来和数据库进行交互的一个轻量级对象,它相当于JDBC中的Connection。Session对象是应用程序与数据库进行...

    hibernate+struts实现数据库查询的例子

    整合`Hibernate`和`Struts2`的过程通常包括以下几个步骤: 1. **环境配置**:首先需要在项目中引入Hibernate和Struts2的依赖库,如JAR包或Maven依赖。 2. **创建实体类**:根据数据库表结构,定义Java实体类,并...

    Hibernate几个常见错误解决方式

    解决方法是检查Hibernate的映射文件(如.hbm.xml或使用注解的方式),确保实体类中的`isupdate`属性正确地映射到了数据库表的相应列。如果数据库中确实没有这个字段,需要更新实体类或者删除不必要的映射。 2. **...

    Hibernate方法的实现

    在使用Hibernate前,我们需要配置Hibernate的环境,这通常涉及到以下几个步骤: - 引入Hibernate的jar包。 - 创建hibernate.cfg.xml配置文件,设置数据库连接信息(如URL、用户名、密码等)以及持久化类信息。 -...

    Hibernate QBC高级查询.rar

    在Hibernate QBC中,我们主要会接触到以下几个关键概念: 1. **Criteria API**:它是Hibernate提供的一个API,允许开发者使用Java对象来构建查询。相比HQL,Criteria API更具有面向对象的特点,可以动态地构建查询...

    用Hibernate实现分页查询.docx

    - 通过`Session`对象的`createCriteria`方法创建一个`Criteria`对象,并指定要查询的实体类。 3. **设置分页参数**: - 调用`setFirstResult`和`setMaxResult`方法来设置分页参数。 4. **执行查询**: - 最后调用...

    Hibernate几种获数据方法比较

    本文将深入探讨Hibernate中的几种主要的数据获取方式,包括`Session.get()`与`Session.load()`、`Query.iterator()`与`Query.list()`以及使用HQL(Hibernate Query Language)进行查询。 ### 1. `Session.get()`与`...

    hibernate查询语句--HQL

    本文将深入探讨 HQL 的几个关键方面,包括基本的查询语法、连接操作以及聚合函数等。 #### 基本查询语法 HQL 查询的基本语法与 SQL 非常相似,但又有所不同。以下是一些基本的 HQL 查询示例: 1. **简单查询**: ...

    hibernate hql各类查询范例

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 1. 使用 HQL 进行基本查询 在第一个示例中,我们看到一个名为 `findPerson` 的方法,该方法执行了一个 HQL 查询来查找满足特定条件的人。这里的 ...

    hibernateHQL基本查询

    查询类中某几个属性 如果只需要查询书籍的书名和价格,可以这样写: ```java String hql = "select b.title, b.price from Books b"; Query query = session.createQuery(hql); List[]&gt; list = query.list(); ``` ...

    hibernate查询缓存1

    当我们在Hibernate中进行查询时,主要有以下几种方式: 1. **主键查询**:通过`get()`或`load()`方法根据主键获取对象。`get()`方法会立即从数据库中获取数据,而`load()`方法则返回代理对象,直到实际访问属性时才...

Global site tag (gtag.js) - Google Analytics