//重写了查询方法
public List queryNews(News news,int startPos,int pageSize) {
List list=new ArrayList();
Session session=this.getHibernateTemplate().getSessionFactory().openSession();
try{
Criteria criteria=session.createCriteria(News.class);
if(news!=null){
//Restrictions.eq 相等
if(!StringUtil.isNull(news.getTitle())){
criteria.add(Restrictions.like("title", "%"+news.getTitle()+"%"));
}
if(!StringUtil.isNull(news.getAuthor())){
criteria.add(Restrictions.like("author","%"+ news.getAuthor()+"%"));
}
}
criteria.setFirstResult(startPos);
criteria.setMaxResults(pageSize);
list=criteria.list();
//添加计算总数的代码
Integer count=(Integer)criteria.setProjection(Projections.count("newsId")).uniqueResult();
}catch (RuntimeException re) {
throw re;
}finally{
session.close();
}
return list;
}
补充一下Expression已经不被推荐使用了,Restrictions貌似包含了Expression的所有方法,just try。
criteria.add(Restrictions.in("id.fcurr", new String[] { "USD", "GBP", "JPY" } ));
具体方法,请参照http://www.dil.univ-mrs.fr/~massat/docs/hibernate-3.1/api/org/hibernate/criterion/Restrictions.html
其它参照http://hunterk.iteye.com/blog/129065
http://shizukyo.iteye.com/blog/262748
http://hi.baidu.com/yaoming159/blog/item/e0e489cb102ff814be09e6c7.html
分享到:
相关推荐
Hibernate条件查询Criteria.docHibernate条件查询Criteria.doc
Hibernate条件查询Criteria[参考].pdf
### Hibernate的查询方式详解 #### 引言 Hibernate作为Java领域中最流行的ORM(Object-Relational Mapping)框架之一,提供了一系列高效、灵活的查询机制,旨在桥接对象模型与关系数据库之间的鸿沟。本文将深入...
本文将深入探讨如何在Hibernate中利用查询条件创建List集合,这在处理复杂的数据筛选和聚合时尤其有用。 首先,让我们理解在Hibernate中创建List集合的基本概念。List集合是Java集合框架的一部分,它可以存储有序且...
本篇文章将深入探讨如何使用Hibernate实现模糊查询和分页功能,这对于任何需要处理大量数据的应用程序来说都是至关重要的技能。 首先,让我们了解Hibernate的核心概念。Hibernate是一个开源的JPA(Java Persistence...
### Hibernate中的查询方式详解 #### 一、HQL查询(Hibernate Query Language) HQL是Hibernate提供的面向对象的查询语言,其语法与SQL相似但并非完全相同。HQL的一个显著优势在于它具有很好的跨数据库能力,这...
在这个“springMVC+hibernate的条件查询加分页的demo”中,我们将探讨如何结合这两个框架实现动态的条件查询和分页功能。 首先,让我们了解一下SpringMVC中的条件查询。在SpringMVC中,通常通过Controller层接收...
本篇文章主要探讨如何利用Hibernate实现动态SQL查询,结合XML配置和FREEMARKER模板引擎来生成执行的SQL语句。 一、Hibernate简介 Hibernate作为一款强大的持久层框架,它简化了Java应用程序与数据库之间的交互。...
【hibernate查询详解】 Hibernate,作为一款强大的Java对象关系映射(ORM)框架,极大地简化了数据库操作。它允许开发者使用面向对象的方式来处理数据库,从而避免了传统的JDBC编码方式带来的复杂性。本篇文章将...
如果你希望在不打开Session的情况下构建查询条件,可以使用DetachedCriteria: ```java DetachedCriteria detached = DetachedCriteria.forClass(User.class); detached.setProjection(Projections.property(...
本篇文章将深入探讨Hibernate中的QBC(Query By Example)条件查询与传统的HQL(Hibernate Query Language)查询的对比,帮助开发者更好地理解和选择适合的查询方式。 QBC(Query By Example)是Hibernate提供的一...
《Hibernate查询条件查询详解》 Hibernate作为Java领域中广受欢迎的对象关系映射(ORM)框架,极大地简化了数据库操作。其强大的查询能力是其核心功能之一。本篇将深入探讨Hibernate的条件查询,帮助开发者更好地...
对于复杂查询,可能涉及到多表联查,此时可以使用`addJoin()`方法指定JOIN条件,并通过`addScalar()`将每列映射到对应的属性: ```java query.addJoin("table2", "t2"); query.addScalar("t2.column1", Hibernate....
Criteria API则提供了一种更加面向对象的查询方式,它允许我们构建查询条件并动态地组合它们。以下是如何使用Criteria API来获取所有用户: ```java Session session = HibernateUtil.getSessionFactory()....
在查询数据库时,递归查询意味着我们查询一个记录,然后根据该记录的某些属性再查询其关联的记录,这个过程可能反复进行,直到满足某个终止条件。 在Hibernate中,我们可以利用HQL(Hibernate Query Language)或 ...
Criteria API是Hibernate提供的另一种查询方式,它提供了更加面向对象的API,可以动态构建查询条件。下面是一个使用Criteria API的例子: ```java Session session = sessionFactory.openSession(); Criteria ...
本篇文章将详细解析Hibernate中的几种主要查询方式,包括联表查询、分页查询、位置参数查询、占位符查询(冒号查询)以及统计查询,这些都是在实际开发中非常常见的需求。 首先,我们来看**联表查询**。在Hibernate...
搜索功能通常涉及到条件查询,可以利用Hibernate3的Criteria API或者HQL动态构造查询语句,根据用户输入的关键词匹配数据库中的记录。搜索结果同样可以结合分页进行展示。 总的来说,这个"Struts2+Spring2+...
描述:hibernate 条件查询实例 知识点解析: ### Hibernate Criteria API:实现高效灵活的数据查询 #### 一、概述 Hibernate Criteria API 是一个强大的查询工具,允许开发者以面向对象的方式进行数据库查询。与...
当我们需要进行更复杂的数据库查询时,Hibernate提供了丰富的高级查询功能,这正是“Hibernate的高级查询”这一主题的核心所在。 在Hibernate中,高级查询主要包括HQL(Hibernate Query Language)、Criteria API和...