首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

createCriteria()多条件查询并含Date部类

2012-08-17 
createCriteria()多条件查询并含Date类型现在就是在查date类型时出了点问题,不知道怎么查询:Java code Str

createCriteria()多条件查询并含Date类型
现在就是在查date类型时出了点问题,不知道怎么查询:

Java code
 String sdate="yyyy-MM-DD HH:mm:ss" SimpleDateFormat sf=new SimpleDateFormat(sdate);   def sendTime=params.get("sendTime")   def sentTime=params.get("sentTime")   dSendTime=sf.parse(sendTime)//转换 打印出来的值却是这样Tue Jan 10 15:10:15 CST 2012                                //数据库中的日期实际上是2012-12-12 12:10:10.0 这样子   dSentTime=sf.parse(sentTime)  def search={                if(dSendTime&&dSentTime){                    and{                        ge("sendTime",dSendTime) //大于等于                    }                    and{                        le("sentTime",dSentTime) //小于等于                    }                 }                if (dSendTime){                    eq("sendingTime",dSendTime) //等于                }                if (dSentTime){                    eq("sentTime",sentTime)                }                if(pipeId){                    like("pipeId",pipeId)                }                if (userId){                    like("userId",userId)                }                if (operatorId){                    like("operatorId",operatorId)                }                if (fromAction){                           if (respCode){                    like("respCode",respCode)                }                if (respMsg){                    like("respMsg",respMsg)                }            }            def result=CodeDetails.createCriteria().list(params,search)

现在加上日期查询后,总是报错,请问我要怎么处理这里的日期查询?

[解决办法]
首先,你要走出一个误区,
你要查询某一天的时间,页面上肯定是2012-12-12类似这样的数据,不带时分秒,
而数据库中的类型如果是日期类型的,那存放的日期肯定是2012-12-12 00:00:00:0 类似这样的格式,
这时候你用eq直接去查询某一天的,那是肯定查询不到任何结果的,
所以在查询某一天的话,可以用like。
还有就是那个时间段的查询,大于小于我记得不是很清楚能不能这样写,但是时间段查询一般都是用between的,你可以试下。

热点排行