牛骨文教育服务平台(让学习变的简单)
博文笔记

hibernate中日期问题+日期查询

创建时间:2017-04-13 投稿人: 浏览次数:1441

Java类中使用Date类型,而其映射文件使用java.sql.Timestamp类型,保存时即可保存为DateTime类型!

 



保存时:

Date today = Calendar.getInstance().getTime();
email.setCreateDate(today);

 最后数据库中:


 


Date查询:

Date是String型:

String startdate    = DateUtil.dateToStr(day, "@dd@@MMM@@yyyy@");
String enddate      = DateUtil.dateToStr(oneDay, "@dd@@MMM@@yyyy@");			
if(startdate!=null && !startdate.equals("") && enddate!=null && !enddate.equals("")){
			String sb = "";
			sb = "(startdate<=""+startdate+"" and enddate>=""+startdate+"")";			
			sb += " or (startdate<=""+enddate+"" and enddate>=""+enddate+"")";	
			sb += " or (enddate >="" + enddate + "" and ""+startdate+"" >= startdate)";			
			sb  += " or (enddate <="" + enddate + "" and ""+startdate+"" <= startdate)";		
			detachedCriteria.add(Expression.sql(sb.toString()));
		}

 

或:

if(stayDateFrom!=null && !stayDateFrom.equals("")){  
			hql.append(" and hra.staydate >= ""+stayDateFrom+" 00:00:00"");           
		}  
		if(stayDateTo!=null && !stayDateTo.equals("")){  
			hql.append(" and hra.staydate <= ""+stayDateTo+" 23:59:59"");           
		} 
 

 

Date是日期类型:

if(markuplayerSpecialDay.getStartdate() != null && !"".equals(markuplayerSpecialDay.getStartdate()))
				detachedCriteria.add(Expression.ge("startdate", markuplayerSpecialDay.getStartdate()));
			if(markuplayerSpecialDay.getEnddate() != null && !"".equals(markuplayerSpecialDay.getEnddate()))
				detachedCriteria.add(Expression.le("enddate", markuplayerSpecialDay.getEnddate()));
//markuplayerSpecialDay.getStartdate()为Date类型

 。。。

  • d9314d94-9a58-3fe2-964e-cd6f8df2c6fb-thumb.png
  • 大小: 16.8 KB
  • 3fb34589-9e2c-39ce-a4a1-058f0c396fce-thumb.png
  • 大小: 4.2 KB
  • 9a7bfb69-0fbb-3f10-97cb-d0dc25b3c075-thumb.png
  • 大小: 2.8 KB
  • 查看图片附件
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。