MyBatis 查询中日期的比较

来源:互联网 发布:威士忌酒杯 知乎 编辑:程序博客网 时间:2024/05/21 06:50

大半年以前用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 ;}


0 0
原创粉丝点击