You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot JPA MySQL实现订单按单日时间范围过滤

实现近一天订单查询接口的方案

1. 扩展OrderRepository接口

Spring Data JPA支持两种方式实现时间范围查询,任选其一即可:

方式一:派生查询(简洁推荐)

直接在OrderRepository中定义方法,Spring会自动生成对应查询语句:

package com.proj.my.repository;

import com.proj.my.model.Order;
import org.springframework.data.jpa.repository.JpaRepository;
import java.time.LocalDate;
import java.util.List;

public interface OrderRepository extends JpaRepository<Order, Integer> {
    // 根据createdAt的时间范围查询订单
    List<Order> findByCreatedAtBetween(LocalDate startDate, LocalDate endDate);
}

方式二:@Query注解自定义JPQL

如果需要更灵活的查询逻辑,可使用注解编写JPQL:

package com.proj.my.repository;

import com.proj.my.model.Order;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import java.time.LocalDate;
import java.util.List;

public interface OrderRepository extends JpaRepository<Order, Integer> {
    @Query("SELECT o FROM Order o WHERE o.createdAt BETWEEN :startDate AND :endDate")
    List<Order> findOrdersByDateRange(@Param("startDate") LocalDate startDate, @Param("endDate") LocalDate endDate);
}

2. 在OrderService中新增业务方法

添加获取近一天订单的方法,自动计算时间范围:

// 在OrderService类中新增以下方法
public List<Order> getOrdersFromLastDay() {
    LocalDate today = LocalDate.now();
    LocalDate yesterday = today.minusDays(1);
    // 对应方式一的调用
    return orderRepository.findByCreatedAtBetween(yesterday, today);
    // 如果用方式二,替换为下面这句
    // return orderRepository.findOrdersByDateRange(yesterday, today);
}

3. 在OrderController中新增接口

暴露HTTP接口供外部调用:

// 在OrderController类中新增以下GET接口
@GetMapping("/getOrdersLastDay")
public List<Order> getOrdersFromLastDay() {
    return orderService.getOrdersFromLastDay();
}

补充说明

  • 你的Order实体中createdAt字段使用LocalDate类型,刚好匹配日期范围查询,无需处理时间部分;如果是LocalDateTime类型,需额外调整时间范围至当日的起始和结束时刻。
  • 你之前注释的代码存在几个问题:JPQL中实体名需与类名一致(应为Order而非order),参数不能直接写LocalDate.now(),需通过@Param传递,上述方案已修正这些问题。

内容的提问来源于stack exchange,提问作者Dadinho2000

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:50:22