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

Hibernate日期查询工具

阅读更多

 

package com.gary.util;

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * Hibernate日期查询工具,用于YYYY-MM-DD格式日期查询
 * 传入YYYY-MM-DD格式字符串参数
 * 返回java.util.Date类型数组,array[0]=YYYY-MM-DD 0:00:00,array[1]=YYYY-MM-DD 23:59:59
 * 方便调用criteria.add(Restrictions.between("targetTime", array[0], array[1]));
 * @author gary
 *
 */
public class HibernateDateUtil {
	public static Calendar cal = Calendar.getInstance();	
	public static DateFormat dateFormat = null;
	public static Date date = null;
	
	/**
	 * Hibernate日期查询工具
	 * @param dateStr 日期字符串,YYYY-MM-DD格式
	 * @return	日期数组,Date[0]=YYYY-MM-DD 0:00:00,Date[1]=YYYY-MM-DD 23:59:59
	 */
	public static Date[] hibernateDateHelper(String dateStr){
		Date[] dateArray = new Date[2];
		dateArray[0] = parseDate(dateStr);
		dateArray[0] = getDateStart(dateArray[0]);
		dateArray[1] = getDateEnd(dateArray[0]);
		return dateArray;
	}
	
	/**
	 * 格式化日期
	 * @param dateStr  String 字符型日期
	 * @param format   String 格式
	 * @return Date    日期
	 */
	public static Date parseDate(String dateStr, String format) {
		try {
			dateFormat = new SimpleDateFormat(format);
			String dt = dateStr.replaceAll("-", "/");
			if ((!dt.equals("")) && (dt.length() < format.length())) {
				dt += format.substring(dt.length()).replaceAll("[YyMmDdHhSs]", "0");
			}
			date = (Date) dateFormat.parse(dt);
		} catch (Exception e) {
		}
		return date;
	}
	
	/**
	 * 获取日期最早时间,如传入2010-12-26,返回2010-12-26 0:00:00
	 * @param date
	 * @return
	 */
	public static Date getDateStart(Date d){
		cal.setTime(d);
		cal.set(Calendar.HOUR, 0);
		cal.set(Calendar.MINUTE, 0);
		cal.set(Calendar.SECOND, 0);
		return cal.getTime();
	}
	
	/**
	 * 获取日期最晚时间,如传入2010-12-26,返回2010-12-26 23:59:59
	 * @param date
	 * @return
	 */
	public static Date getDateEnd(Date d){
		cal.setTime(d);
		cal.set(Calendar.HOUR, 23);
		cal.set(Calendar.MINUTE, 59);
		cal.set(Calendar.SECOND, 59);
		return cal.getTime();
	}

	/**
	 * 格式化日期
	 * @param dateStr  String 字符型日期:YYYY-MM-DD 格式
	 * @return Date    日期
	 */
	public static Date parseDate(String dateStr) {
		return parseDate(dateStr, "yyyy/MM/dd");
	}
	
	/**
	 * 输出日期
	 * @param date
	 * @return
	 */
	public static String printDate(Date date){
		return date.toLocaleString();
	}
	
	public static void main(String[] args) {
		String dateStr = "2010-12-27";
		Date start = hibernateDateHelper(dateStr)[0];
		Date end = hibernateDateHelper(dateStr)[1];
		System.out.println("start:" + printDate(start) + ", end:" + printDate(end));
	}
}
1
3
分享到:
评论

相关推荐

    Hibernate查询语言.doc

    总的来说,Hibernate的查询语言提供了一套灵活且强大的工具,使得开发者能够根据需求选择合适的查询方式,无论是面向对象的HQL,还是原生SQL,都能够高效地处理数据库操作。在实际开发中,应根据具体场景选择最适合...

    Hibernate4.0,Hibernate5.2,Hibernate5.6 jar包

    Hibernate是Java领域中一款广泛应用的关系型数据库对象映射...对于需要使用Hibernate的开发者来说,选择合适的版本取决于项目需求和个人喜好,但不论哪个版本,都为Java开发人员提供了一种强大而高效的数据库访问工具。

    hibernate jar包

    1. **Hibernate Core**:这是Hibernate的基础,提供了实体管理、会话管理、查询语言(HQL)和 Criteria API等功能。 2. **JPA(Java Persistence API)**:虽然Hibernate最初并不是为JPA设计的,但后来版本中已经很...

    详解hibernate与webservice结合使用

    本文详细介绍了一种具体的实现方案,从工程目录的搭建、资源文件的准备到Hibernate的配置与查询功能的实现,再到WebService服务的开发与测试,最后到客户端程序的编写与运行,为读者提供了一个完整的实践案例。

    Hibernate_实体类_注解_说明

    ### Hibernate实体类注解详解 ...这些高级特性使得Hibernate成为企业级应用开发的首选工具之一。 总之,Hibernate实体类注解的深度理解与恰当应用,是构建高性能、高可用性的Java应用程序的关键技能。

    hibernate5.2.3.jar

    总结来说,Hibernate 5.2.3是Java开发中一个重要的ORM工具,它提供了高效、灵活的数据库操作方式,简化了数据库编程,并且具有丰富的特性,如对象关系映射、查询语言、缓存机制等,极大地提高了开发效率和应用性能。...

    hibernate插件

    总结起来,Hibernate插件对于Eclipse用户来说是一个非常实用的工具,它简化了数据库操作,提供了丰富的功能,如生成映射文件、持久化类,以及运行HQL查询等。通过正确安装和使用,开发者可以更加高效地进行Java持久...

    hibernate5.2.6-compiled

    Hibernate是一个流行的Java对象关系映射(ORM)工具,它允许开发人员使用面向对象的方式来处理数据库操作,从而避免了直接编写SQL代码的繁琐工作。 在描述中提到的"hibernate已编译",意味着这个压缩包包含了已经过...

    Hibernate查询语言

    Hibernate查询语言(HQL)是Java开发者在使用Hibernate框架时进行数据检索的一种强大的工具。它是一种面向对象的查询语言,允许开发者用类名和属性名而不是数据库表和字段来编写查询,极大地简化了数据库操作。本...

    Hibernate distribution and annotation

    4. **查询语言**: HQL(Hibernate Query Language)是Hibernate的SQL扩展,用于查询对象。另外,Criteria API提供了一种类型安全的、面向对象的查询方式。 5. **缓存**: Hibernate支持一级缓存(Session级别的...

    hibernate(api_介绍)

    Hibernate 是一个强大的 ...总之,Hibernate API 提供了全面的工具集,让开发者能够高效地处理数据库操作,同时通过扩展接口支持数据库独立性,增强了灵活性和可维护性。理解并熟练使用这些接口是掌握Hibernate的关键。

    hibernate完整JAR包

    8. **类型转换**:hibernate-types-52.jar包含了一些自定义的Hibernate类型,用于处理如JSON、日期时间等复杂类型的数据。 9. **JPA规范**:如javax.persistence-api.jar,提供了JPA的规范接口,使得Hibernate可以...

    hibernate框架官方4.4.0版本下载

    总的来说,Hibernate 4.4.0版本不仅是一个稳定可靠的ORM框架,而且在性能、易用性和功能上都有显著提升,是Java Web开发者的得力工具。对于初学者,可以通过学习这个版本了解ORM的基本概念和使用方法;对于有经验的...

    hibernate5.2.12All.jar

    Hibernate,作为Java领域中广泛使用的对象关系映射(ORM)框架,一直以来都是开发人员的重要工具,尤其是在处理数据库交互时。本篇文章将深入探讨2017年10月12日发布的Hibernate 5.2.12版本,这是当时最新且完整的...

    Struts hibernate 图书管理

    【Struts Hibernate 图书管理系统详解】 本项目是一个基于Struts和Hibernate框架的...通过Struts和Hibernate的结合,本图书管理系统实现了高效的数据访问和用户交互,为图书馆或个人图书收藏提供了便捷的管理工具。

    hibernate里面常用jar包

    7. **commons-collections-x.x.jar** 和 **commons-lang3-x.x.jar**:Apache Commons Collections提供了丰富的集合操作工具,而Commons Lang提供了各种实用的字符串处理、日期时间操作等函数,它们在Hibernate中起到...

    Hibernate笔记 马士兵

    第12课 使用hibernate工具类将对象模型生成关系模型 19 第13课 ID主键生成策略 20 一、 Xml方式 20 元素(主键生成策略) 20 二、 annotateon方式 21 1、AUTO默认 21 2、IDENTITY 22 3、SEQUENCE 22 4、为Oracle指定...

    Hibernate Annotation库

    总之,Hibernate Annotation库是Java开发中不可或缺的工具,它通过注解的方式简化了ORM的过程,使得开发者能更专注于业务逻辑,而不是底层的数据操作细节。通过理解并熟练使用这些注解,可以有效地提升开发效率和...

    hibernate3.5.0-final下载链接

    - **查询缓存优化**:Hibernate 3.5.0-Final 对查询缓存进行了优化,这有助于提高应用程序的整体性能。 - **批量更新和删除支持**:新版本支持更高效的批量更新和删除操作,这对于处理大量数据时尤其有用。 - **查询...

    hibernate-3.6.7.rar

    在Hibernate 3.6.7这个版本中,我们找到了一系列用于开发的JAR包,这通常包含了核心库、工具、以及可能的依赖库。 1. **Hibernate核心组件**:Hibernate的核心组件主要包括`hibernate3.jar`,这个文件包含了...

Global site tag (gtag.js) - Google Analytics