hibernate里,使用criteria按月份查询date类型数据
小弟最近在看hibernate。想问下这个问题。使用mysql数据库里,想查4月份的数据,可以使用:select*fromday_reportwheremonth(uni...
小弟最近在看hibernate。想问下这个问题。使用mysql数据库里,想查4月份的数据,可以使用:
select * from day_report where month(union_date)='07'
这样的方式查询到。
那么在hibernate里,要使用criteria来查询应该怎么查?我是想用struts查询指定月份和年份的数据。如果年份和月份都没有被选择,那么默认查询出当年当月的数据。所以我写了个类,想要根据前台传递来的值,来像criteria里添加查询条件。问题是我不知道如何从date型数据里,查询指定月份和年份,哪位大哥能给的大概的方法~~~ 展开
select * from day_report where month(union_date)='07'
这样的方式查询到。
那么在hibernate里,要使用criteria来查询应该怎么查?我是想用struts查询指定月份和年份的数据。如果年份和月份都没有被选择,那么默认查询出当年当月的数据。所以我写了个类,想要根据前台传递来的值,来像criteria里添加查询条件。问题是我不知道如何从date型数据里,查询指定月份和年份,哪位大哥能给的大概的方法~~~ 展开
2个回答
展开全部
没想到好数颤尺办法,有个曲折的实现:使用洞源between
Session session=HibernateSessionFactory.currentSession();
Transaction tran=session.beginTransaction();
Criteria criteria=session.createCriteria(Test.class);
Criterion criterion=Expression.between( "testTime ",start_date,end_date);
start_date,end_date是你想查找时间的上下限,我想你肯定能得到薯高。
Session session=HibernateSessionFactory.currentSession();
Transaction tran=session.beginTransaction();
Criteria criteria=session.createCriteria(Test.class);
Criterion criterion=Expression.between( "testTime ",start_date,end_date);
start_date,end_date是你想查找时间的上下限,我想你肯定能得到薯高。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询