gpt4 book ai didi

java - 如何查找按日期排序的 List
转载 作者:行者123 更新时间:2023-12-02 09:50:18 25 4
gpt4 key购买 nike

我正在尝试构建简单的 REST 来进行购买我需要2个方法。Firstone 应显示按日期排序的所有购买Secondone 删除指定日期的所有购买我制定了一种添加和获取所有购买的方法。现在我被困住了。

@Entity
@Table (name="purchase")
public class Purchase {

@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Column(name = "name")
private String name;

@CreationTimestamp
@Temporal(TemporalType.DATE)
@Column(name="createat")
private Date created;

@Column(name="price")
private BigDecimal price;


@Column(name="currency")
private String currency;
@Repository
public interface PurchaseRepository extends JpaRepository<Purchase, Long> {
}

@Service
public class PurchaseService {

@Autowired
private PurchaseRepository purchaseRepository;

public void addPurchase(Purchase purchase) {
purchaseRepository.save(purchase);
}

public List<Purchase> getAllPurchase() {

List<Purchase> purchase = new ArrayList<>();
purchaseRepository.findAll().forEach(purchase::add);
return purchase;
}
}

@RestController
public class PurchaseController {

@Autowired
private PurchaseService purchaseService;

@PostMapping("/purchase")
public void addPurchase(@RequestBody Purchase purchase) {
purchaseService.addPurchase(purchase);
}

@RequestMapping("/purchase")
public List<Purchase> getAllTopics() {
return purchaseService.getAllPurchase();
}
}

找不到以下问题的解决方案和实现:我希望有 1 种方法对按日期排序的列表进行排序2 删除指定日期的所有购买的方法

最佳答案

假设您使用 Spring 正如注释所示,还假设您使用 SpringData 作为数据库通信的抽象层。您不应该扩展 JPARepository,而应该扩展 CrudRepository。在那里,您可以通过特殊的命名约定或 HQL 来定义查询。

例如:

@Repository
public interface PurchaseRepository extends CrudRepository<Purchase, Long> {
List<Purchase> findAllOrderByDate();

long deleteByDate(Date date);
}

deleteByDate 函数将返回已删除行的计数。

如您所见,您可以通过名称定义查询。有关此的更多信息:https://docs.spring.io/spring-data/data-commons/docs/2.1.8.RELEASE/reference/html/

更新:该实现只是一个示例,您不能复制并粘贴它并按原样使用它。正如上述文档中所解释的,您可以通过特殊的命名约定来定义查询,该约定允许您使用实体中的属性名称以语义方式定义两个查询。在您的情况下,这将是 findAllOrderByCreatedAscfindAllOrderByCreatedDesc ,同样适用于删除。

关于java - 如何查找按日期排序的 List<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361257/

25 4 0