gpt4 book ai didi

java - 每月更新一条数据库记录

转载 作者:行者123 更新时间:2023-11-29 03:11:58 27 4
gpt4 key购买 nike

我需要每个月更新我数据库中的一些用户记录(具体来说,给他们属于他们订阅的积分),从他们注册的那一天开始。我想到了这样做:

每天一次...

  • 查找一个月前更新过的所有用户(或更多,以防过程失败天)
  • 更新它们
  • 将他们的最后更新日期增加一个月

听起来很简单,但比实际更简单。问题是月份并不总是有相同的天数。例如,如果有人在 3 月 31 日注册,他应该什么时候更新? 4 月 30 日,5 月 1 日?或者我应该简单地将更新天数的范围限制在最低的公共(public)范围内,28?我当然可以只在 1 日为每个人做,尽管那不太理想。

对于这种情况,您有什么经验可以分享?我正在使用来自 Java+JPA+Hibernate 的 MySQL 5。如果有帮助,我已经在使用 JodaTime 做其他事情了。

最佳答案

如果使用 Spring ,Spring scheduling你可以看看。你可以有这样的方法:

@Scheduled("0 0 1 * *") // cron expression
public void executeOnceAMonth() {
}

只有<task:annotation-driven /> (有关配置的更多详细信息 - 在链接文档中)

这实际上是对 Quartz 的抽象,因此您也可以使用 Quartz 作业来完成它。

关于java - 每月更新一条数据库记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6744613/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com