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<String, Object> filter = init();
		Map<String, Object> json =  new HashMap<String, Object>();
		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<PayStatus> pays = countQueryService.payStatusList(filter);
		if(pays != null){
			json.put("rows", pays);
		}
		jsonObject = JSONObject.fromObject(json);
		return SUCCESS ;
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值