我已经使用Java创建了一个程序,该程序连接到数据库并允许用户提交记录。该记录包括唯一的参考号和开始日期(变量:StartedDate)。
我想让用户搜索两个日期(一个月的第一天和今天的日期)之间提交的案件数量。
到目前为止,我有SQL查询
select * from cases where StartDate>'***' and Date<'****'
在Java中,
select * from cases where StartedDate>'1stMONTHDATE' and Date<'TODAYSDATE'
我的第一个问题是-在数据库中,没有一个称为“日期”的字段,因为它必须每天更改。我如何将其称为Java自动生成的日期?
另外,我将如何实现Count()方法以返回返回的记录数的整数?
最佳答案
SELECT * FROM cases WHERE StartedDate BETWEEN :startDate AND :endDate
在JPQL中:
public List<Cases> findAllEvents(Date startDate, Date endDate) {
List<Cases> allCases = entityManager.createQuery("SELECT * FROM cases WHERE StartedDate BETWEEN :startDate AND :endDate")
.setParameter("startDate", startDate, TemporalType.DATE)
.setParameter("endDate", endDate, TemporalType.DATE)
.getResultList();
return allCases ;
}