前言:需要注意的是时间区间的查询,字符串转时间一定要转换正确。
1、时间转换
/**
* 字符串时间通过Calendar转成Date类型
*
* @param date 字符串时间
*
* @param format 匹配日期格式
* @return
* @throws ParseException
*/
private Date parseStrToDateByCalendar(String date,String format) throws ParseException{
SimpleDateFormat formatter = new SimpleDateFormat(format);
Calendar calendar=Calendar.getInstance();
calendar.setTime(formatter.parse(date));
Date convertedDate=calendar.getTime();
return convertedDate;
}
2、分页查询
public Map<String, Object> getHistoryAlramByType(String carNumber,
String startTime, String endTime, int type, int status, int doflag,
int pageNo, int pageSize, String sortName, String sortOrder) {
Criteria criteria = getSession().createCriteria(Alarm.class);
criteria.add(Restrictions.eq("alarmType", type));
if (!startTime.equals("") && !endTime.equals("")) {
Date startDate=null,endDate=null;
try {
startDate = this.parseStrToDateByCalendar(startTime, "yyyy-MM-dd HH:mm:ss");
} catch (ParseException e) {
e.printStackTrace();
}
try {
endDate = this.parseStrToDateByCalendar(endTime, "yyyy-MM-dd HH:mm:ss");
} catch (ParseException e) {
e.printStackTrace();
}
criteria.add(Restrictions.between("serviceTime", startDate, endDate));
}
if (!carNumber.equals("")) {
criteria.add(Restrictions.eq("carNumber", carNumber));
}
if (status != -2) {
criteria.add(Restrictions.eq("status", status));
}
if (doflag != -1) {
criteria.add(Restrictions.eq("doFlag", doflag));
}
int total =criteria.list().size(); // 统计符合条件数据的总数
if (sortOrder.equals("asc")) { // 按字段排序
criteria.addOrder(Order.asc(sortName));
} else {
criteria.addOrder(Order.desc(sortName));
}
criteria.setMaxResults(pageSize); // 最大显示记录数
criteria.setFirstResult((pageNo-1)*pageSize); // 从第几条开始
List<Alarm> list = criteria.list();
Map<String, Object> map = new HashMap<String, Object>();
map.put("Total", total);
map.put("Rows", list);
return map;
}
分享到:
相关推荐
在IT行业中,ORM(Object-Relational Mapping)框架如Hibernate被广泛用于简化Java...在提供的`SplitPage`文件中,可能包含了具体的实现细节和示例代码,进一步学习这些内容将加深你对Hibernate模糊查询和分页的理解。
通过上述示例可以看出,Hibernate Criteria查询非常灵活且功能强大,能够满足大多数应用场景的需求。相比于HQL查询,Criteria查询更加强调对象化的查询方式,使得查询逻辑更加清晰和易于维护。在实际开发中,可以...
总结,"Hibernate 多表连接分页查询示范项目"是一个实用的示例,它展示了如何在实际应用中利用 Hibernate Criteria API 实现复杂查询和分页,对于学习和掌握 Hibernate 的高级特性和数据库操作技巧非常有帮助。...
本教程将深入探讨Hibernate 3.x版本中的查询方式,包括基本查询、HQL(Hibernate Query Language)以及Criteria API,帮助开发者更高效地处理数据库交互。 1. **基本查询(Criteria API)** Hibernate Criteria ...
Hibernate Criteria API 是一种面向对象的查询方式,它提供了一种比HQL(Hibernate Query Language)更为简洁且直观的查询手段。通过Criteria API,开发者可以构建复杂的查询条件,无需直接编写SQL,使得代码更加...
除了Criteria查询,还可以使用HQL(Hibernate Query Language)进行分页查询,HQL是Hibernate提供的面向对象的查询语言,语法类似SQL。以下是一个使用HQL分页查询的例子: ```java String hql = "from User"; Query...
在Hibernate中,我们通常使用`Criteria`或`Query` API进行分页查询。`Criteria`提供了一种更面向对象的方式来执行SQL查询,而`Query` API则对应于原生的SQL语句。在这些API中,我们可以设置`setFirstResult()`和`...
基于Hibernate的分页通常可以通过HQL(Hibernate Query Language)或者Criteria API实现,也可以结合数据库自身的分页功能,比如MySQL的LIMIT和OFFSET关键字。 4. Struts2:Struts2是一个强大的MVC(Model-View-...
在深入探讨Hibernate与Criteria结合进行模糊查询之前,我们先来了解一下Hibernate和Criteria的基本概念,以及为何选择使用它们进行模糊查询。 ### Hibernate简介 Hibernate是一个开放源代码的对象关系映射(ORM)...
### Hibernate Criteria 分组、排序与关联查询详解 #### 标题与描述理解 - **标题**:“hibernate criteria 分组 排序 关联”这一标题明确了本文将围绕Hibernate Criteria API进行分组、排序以及关联查询的具体...
本篇文章将深入探讨使用Hibernate ORM框架与SQL Server 2000数据库进行分页查询的方法。 首先,Hibernate是Java领域中最流行的ORM(对象关系映射)框架之一,它允许开发者使用面向对象的方式操作数据库,减少了直接...
以下是一个简单的示例,展示如何在Spring和Hibernate中实现组合查询和分页: ```java @Service public class UserService { @Autowired private SessionFactory sessionFactory; public Page<User> ...
### 使用Hibernate实现分页查询 #### 一、分页查询概念及原理 ...使用上述`Employee`实体类,我们可以通过Hibernate的`Criteria`接口实现分页查询功能。 以上是关于使用Hibernate实现分页查询的相关知识点介绍。
总的来说,"springMVC+hibernate的条件查询加分页的demo"涵盖了Web应用中常见的查询和分页需求,通过SpringMVC接收和处理用户请求,利用Hibernate的Criteria查询动态构造SQL,并通过设置分页参数实现数据的分批次...
总结起来,"hibernate分页代码"是一个关于如何在Hibernate中进行分页查询的实践示例,适用于在MyEclipse环境下运行。通过Criteria API或HQL,开发者能够方便地实现分页功能,提升应用性能,为用户提供更好的体验。...
### Hibernate-Criteria 模糊查询详解 #### 一、引言 在软件开发过程中,数据库查询操作是非常常见的需求之一。Hibernate作为一款优秀的Java持久层框架,提供了多种方式来进行数据库操作,其中包括HQL(Hibernate ...
1. Hibernate的Query和Criteria API都提供了分页功能。使用`setFirstResult()`方法设置查询开始的位置,即第几条记录,以及`setMaxResults()`方法设置一次返回的最大记录数,这两者结合即可实现分页。 2. Query API...
在分页查询中,Hibernate提供了Criteria、HQL(Hibernate Query Language)以及Query API等多种方式实现。例如,可以使用`setFirstResult`和`setMaxResults`方法来限制返回的结果集,从而实现分页。 Oracle数据库是...
1. **Criteria API**:Hibernate的Criteria API允许我们创建动态查询,同时也支持分页。通过设置`setFirstResult()`和`setMaxResults()`方法,可以实现分页效果。例如: ```java Criteria criteria = session....
Hibernate的Criteria API或HQL(Hibernate Query Language)可以方便地实现这种定制查询。此外,Hibernate的Session接口提供了缓存机制,提高了数据访问性能。 Spring框架则作为一个服务和依赖注入容器,它协调...