2 z183052114 z183052114 于 2017.01.05 14:22 提问

每月月初重置数据库某字段 java如何实现?

每个人每个月有10次机会,数据库字段 数据 为10,每用一次-1。
然后在每个月月初的时候自动重置为10,java如何实现?

8个回答

liuchao901010a
liuchao901010a   2017.01.06 17:04

给你说个最简单的方法,给表里面加个字段,名为上次访问时间。每次获取这个次数的时候,如果这条记录上次操作时间是本月的,就返回这个次数,如果是上个月或者更之前的,返回10。每次操作同时修改数据库的上次访问时间,并更新次数。日期比较应该没啥可说的。

liuchao901010a
liuchao901010a 上面说用定时框架的,如果只是为了这一个功能,没必要用他。
11 个月之前 回复
xdk_csdn
xdk_csdn   2017.01.05 14:44

兄弟你的描述意思不太清楚啊,我猜想的话应该是这样:“每个人每个月有10次机会”相当于有一张用户表,表中一个字段初始值为10,操作一次-1,到0为止。然后做一个定时任务每月月初设置用户表中该字段为10。这样?

xdk_csdn
xdk_csdn 回复z183052114: 定时任务的话可以使用quartz,quartz配置文件中指定类名,方法名,定时任务执行时间间隔。不是一直在运行?
11 个月之前 回复
z183052114
z183052114 嗯 就是这个意思 怎么做定时任务 程序不是一直在运行的
11 个月之前 回复
xdk_csdn
xdk_csdn   2017.01.05 14:52

实现步骤:
1:建表user 字段count int(100)
2:java quartz定时任务,配置为每月1日执行。设置count字段赋值为10

xdk_csdn
xdk_csdn 回复z183052114: 肯定不行的。难道你的程序部署后时停时启吗?
11 个月之前 回复
z183052114
z183052114 用这个 如果1日的时候 程序没有在运行 也能重置吗
11 个月之前 回复
qianqianfeng
qianqianfeng   2017.01.05 15:06

spring定时任务详解(@Scheduled注解)
http://blog.csdn.net/qq_33556185/article/details/51852537

qq_28649361
qq_28649361   2017.01.05 15:14

在你现有框架中是否已经加入了quartz,如果没有就自己添加一个吧,这个很简单,网上也有教程。。
quartz是一个自动任务调度,在配置好相关XML后可以定时调用某个方法,然后你写一个方法去修改数据库就好了,
每月月初执行一次的quartz cron表达式可以在百度上面搜索,这个很容易搜索到。。
望采纳。。。。

wangchunyu11155
wangchunyu11155   2017.01.05 15:20

我看了下楼上的说法 不是很了解 但是如果程序不能保证实时在启动中,那么为什么不把定时拿到数据库里去呢 ,新建一个作业job不就可以用了么?

xionglangs
xionglangs   Rxr 2017.01.05 22:56

1、数据库的定时任务,如oracle的job。
2、linux服务器的定时器 crontab。
3、js的定时器,不太好算,js获取当前时间,判断当前时间是不是1号。
4、java的定时器timer,java获取当前时间,判断当前时间是不是1号。
5、spring的定时器配置或注解。

ljheee
ljheee   Rxr 2017.01.08 10:05

还是用quartz定时任务把

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!