java后端怎么编写通过exeTime这个字段查询一个时间段的时间里的所有数据,根据前端选择的日期进行查询对应数据
时间: 2024-03-21 17:39:31 浏览: 65
你可以通过在后端接收前端传递的起始时间和结束时间参数,然后使用 JPA 的 `Between` 关键字来查询指定时间段的数据。具体实现步骤如下:
1. 在后端的 DAO 层中定义一个查询方法,方法签名类似于以下代码:
```java
public interface ExecuteRecordDao extends JpaRepository<ExecuteRecord, Long> {
List<ExecuteRecord> findByExeTimeBetween(Date startTime, Date endTime);
}
```
2. 在查询方法中使用 `Between` 关键字来查询指定时间段的数据,具体代码如下:
```java
public List<ExecuteRecord> findByExeTimeBetween(Date startTime, Date endTime) {
return executeRecordRepository.findByExeTimeBetween(startTime, endTime);
}
```
3. 在前端页面中,使用 `el-date-picker` 组件来选择起始时间和结束时间,并将选择的时间参数传递给后端。具体代码如下:
```html
<template>
<div>
<el-date-picker
v-model="startTime"
type="date"
placeholder="选择起始时间"
value-format="yyyy-MM-dd"
></el-date-picker>
<el-date-picker
v-model="endTime"
type="date"
placeholder="选择结束时间"
value-format="yyyy-MM-dd"
></el-date-picker>
<el-button type="primary" @click="search">搜索</el-button>
</div>
</template>
<script>
export default {
data() {
return {
startTime: '',
endTime: ''
}
},
methods: {
search() {
// 调用后端查询接口,传递起始时间和结束时间参数
this.$axios.get('/api/executeRecord', {
params: {
startTime: this.startTime,
endTime: this.endTime
}
}).then(response => {
// 处理查询结果
})
}
}
}
</script>
```
在上述代码中,我们使用了 `el-date-picker` 组件来选择起始时间和结束时间,并将选择的时间参数传递给后端。
4. 在后端的查询接口中,接收前端传递的起始时间和结束时间参数,并调用 DAO 层的查询方法来查询指定时间段的数据。具体代码如下:
```java
@GetMapping("/api/executeRecord")
public List<ExecuteRecord> searchExecuteRecord(
@RequestParam("startTime") @DateTimeFormat(pattern = "yyyy-MM-dd") Date startTime,
@RequestParam("endTime") @DateTimeFormat(pattern = "yyyy-MM-dd") Date endTime
) {
return executeRecordDao.findByExeTimeBetween(startTime, endTime);
}
```
在上述代码中,我们使用了 `@RequestParam` 注解来接收前端传递的起始时间和结束时间参数,并使用 `@DateTimeFormat` 注解来指定日期时间格式。然后调用 DAO 层的查询方法来查询指定时间段的数据。
阅读全文