MyBatis 查询中日期的比较

大半年以前用ssh 进行项目的开发,在使用QBC进行日期的查询时遇到过相同的问题,由于当时是直接获取前台的字符串后台手动进行类型的转换,所当时采用了拼接字符串的方式解决的,现在项目中使用的是Struts的类型封装,所以解决的思路是相同的,解决的方法稍有不同。

关于QBC解决方法

http://blog.csdn.net/tan_1208815066/article/details/21458333

问题:例如查询 2014-11-04 之前的记录 前台传入的2014-11-04 会被封装成 日期 ‘2014-11-04 00:00:00’ ,这样查 <= 的时候就是4号之前的数据,解决方法就是把这个日期再加一天,就把当天的数据都查询出来了。

这里使用Calendar类对时间进行操作: 操作如下

	private Date fromTime ;
	private Date toTime ;
	public String payStatusList() throws Exception{
		Map filter = init();
		Map json =  new HashMap();
		filter.put("fromTime",  fromTime);
		if(toTime != null){
			Calendar ca = Calendar.getInstance();
			ca.setTime(toTime);
			ca.add(Calendar.DATE, 1);
			filter.put("toTime", ca.getTime());
		}
		if(escrowId != null && !"".equals(escrowId)){
			filter.put("escrowId", escrowId) ;
		}
		filter.put("paid", paid);
		List pays = countQueryService.payStatusList(filter);
		if(pays != null){
			json.put("rows", pays);
		}
		jsonObject = JSONObject.fromObject(json);
		return SUCCESS ;
	}


你可能感兴趣的:(ssh)