您可以使用Spring Data JPA实现此目的,而无需定义本机查询。
@Repositorypublic interface OrderRangeRepository extends JpaRepository<OrderEntity, OrderEntityID> { List<OrderEntity> findByAmountBetween(int startAmt, int endAmt);}如果要使用本机查询,请将其更改为
@Query(value = "SELECt * FROM Orders WHERe Amount BETWEEN :startAmt AND :endAmt" , nativeQuery=true)List<OrderEntity> findOrdersBy(@Param("startAmt") int startAmt, @Param("endAmt") int endAmt);您可以通过以下方式在服务中调用查询:
@Servicepublic class OrderRangeService { @Autowired OrderRangeRepository orderRangeRepository ; public List<OrderEntity> findAmountsBetween(int startAmt, int endAmt) { List<OrderEntity> amountsBetween = orderRangeRepository.findByAmountBetween(startAmt, endAmt); return amountsBetween; }}最后,您应该从控制器中自动连接OrderRangeService并调用findAmountsBetween服务方法
@AutowiredOrderRangeService orderRangeService;@GetMapping("/amountsFromAndTo")@ResponseBodypublic String getAmounts(@RequestParam int startAmt, @RequestParam int endAmt) { List<OrderEntity> orderEntityL = orderRangeService.findAmountsBetween(startAmt, endAmt); return orderEntityL.toString();}


