springboot结合mybatis,根据开始时间和结束时间动态查询数据
1.GoodsService.java
/**
* 分页根据时间区间动态查询发布的商品列表
* @param startTime
* @param endTime
* @return
*/
Page<Goods> queryByTimeInterval(String startTime, String endTime);
2.GoosMapper.xml
,goods
表中 g_create_time
的类型为 Date
<select id="queryByTimeInterval" resultMap="BaseResultMap" parameterType="String">
SELECT * FROM goods
<where>
<if test="startTime == null and startTime == ''">
g_create_time <= #{endTime}
</if>
<if test="endTime == null and endTime == ''">
g_create_time >= #{startTime}
</if>
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
g_create_time between #{startTime} and #{endTime}
</if>
</where>
</select>
3.GoodsController.java
@GetMapping("/queryByTimeInterval")
public PageInfo<Goods> queryByTimeInterval(String startTime,String endTime,
@RequestParam(defaultValue = "1",required = false) int pageNo,
@RequestParam(defaultValue = "6",required = false) int pageSize ){
PageHelper.startPage(pageNo, pageSize);
PageInfo<Goods> pageInfo = new PageInfo<>(goodsService.queryByTimeInterval(startTime, endTime));
return pageInfo;
}
4.使用postman根据开始时间和结束时间动态测试数据
注意:前端时间选择插件选择的时间和我们手动输入的时间传到后台都是 String
类型的哦。