使用yyyy-MM-dd hh:mm:ss格式的日期对象去查询数据库

前提 : 

由于createTime字段在数据库中是date类型, 当条件是根据时间范围获取数据库中对应的数据时 :

如 : time > createTime   &&  createTime < time

解决办法:

 前端传递的string类型的日期字符串, 将他用dto类接受, 在对应的date属性上,

添加@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")注解

但是我在用是 注解失效了 , 也没有解决了

变通办法:

用string接受前端传递的时间字符串, 用

Timestamp.valueOf(时间格式的字符串)即可解决

实例: 

if (StringUtil.notEmpty(operaDoctorInfoDTO.getRegStartTime())){

    criteria.add(Restrictions.lte("createTime", Timestamp.valueOf(operaDoctorInfoDTO.getRegStartTime()),true));
}

if (StringUtil.notEmpty(operaDoctorInfoDTO.getRegEndTime())){

    criteria.add(Restrictions.gte("createTime",Timestamp.valueOf(operaDoctorInfoDTO.getRegEndTime()),true));
}

你可能感兴趣的:(java)