一周一次将值保存到数据库

时间:2014-05-29 04:44:02

标签: java mysql database

我有一种情况,我想通过java程序生成excel表。我每次执行程序时都可以生成excel表。虽然我正在执行保存到数据库的程序数据,但我想在一周内只将数据保存到数据库一次。 我有两张桌子:

CREATE TABLE PROJECTS
(id int(10) NOT NULL AUTO_INCREMENT, 
project_name varchar(100) NOT NULL,
lastUpdated Date, PRIMARY KEY (id));

CREATE TABLE PROJECT_DATA
(id int(10) NOT NULL AUTO_INCREMENT,
project_id int(10), 
rca_field varchar(50),
 environment varchar(50), 
dateCreated Date,
 endDate Date, 
dataValue int(10), 
PRIMARY KEY (id), 
FOREIGN KEY (`project_id`) REFERENCES PROJECTS(`id`));

任何机构都可以在JAVA计划中建议我这样做吗?

由于

2 个答案:

答案 0 :(得分:3)

听起来您想要自动运行定期服务,而无需人工执行您的应用程序。如果是这种情况,您有几个主要选择:

在Windows上,您可以设置计划任务

在Posix上,您可以使用cron

使用纯Java(个人推荐),您可以使用JavaEE的计时器服务。这将需要运行应用程序服务器,例如RedHat的JBoss或Oracle的Glassfish:http://docs.oracle.com/javaee/6/tutorial/doc/bnboy.html

答案 1 :(得分:0)

1 - 对于创建Excel工作表,您可以调用将生成Excel工作表的Servlet。(使用java POI)。 2-要将值插入DB,您可以安排一个cronjob,它将每周将数据保存到db。