您的位置:首页 > 其它

MyBatis 查询中日期的比较

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

关于QBC解决方法

/article/7746066.html

问题:例如查询 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 ;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: