//这里面有 连接数据库和定时的方法。
package com.thinkgem.jeesite.modules.wdmtk.web;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Calendar;
import java.util.Date;
import java.util.Timer;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
/**
- java定时任务,每天定时执行任务
-
@author wls
*
*/
public class TimerManager {
// 时间间隔
private static final long PERIOD_DAY = 5 * 60 * 1000;public TimerManager() {
Calendar calendar = Calendar.getInstance();
String url = "jdbc:mysql://localhost:3306/jeesite" ;
String username = "root" ;
String password = "" ;/*** 定制每日2:00执行方法 ***/ calendar.set(Calendar.DAY_OF_YEAR, 0); calendar.set(Calendar.HOUR_OF_DAY,17); calendar.set(Calendar.MINUTE, 35); calendar.set(Calendar.SECOND, 0); Date date = calendar.getTime(); // 第一次执行定时任务的时间 System.out.println(date); System.out.println("before 方法比较:" + date.before(new Date())); // 如果第一次执行定时任务的时间 小于 当前的时间 // 此时要在 第一次执行定时任务的时间 加一天,以便此任务在下个时间点执行。如果不加一天,任务会立即执行。循环执行的周期则以当前时间为准 if (date.before(new Date())) { date = this.addDay(date, 1); System.out.println(date); } Timer timer = new Timer(); NFDFlightDataTimerTask task = new NFDFlightDataTimerTask(); // 安排指定的任务在指定的时间开始进行重复的固定延迟执行。 timer.schedule(task, date, PERIOD_DAY); //连接数据库的 try{ java.sql.Connection con = DriverManager.getConnection(url , username , password ) ; System.out.println("数据库连接成功"); }catch(SQLException se){ System.out.println("数据库连接失败!"); se.printStackTrace() ; }
}
// 增加或减少天数
public Date addDay(Date date, int num) {
Calendar startDT = Calendar.getInstance();
startDT.setTime(date);
startDT.add(Calendar.DAY_OF_MONTH, num);
return startDT.getTime();}
}
//这个是循环的数据
package com.thinkgem.jeesite.modules.wdmtk.web;
import java.io.InputStream;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Properties;
import java.util.TimerTask;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class NFDFlightDataTimerTask extends TimerTask {
private static SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//这个是循环的数据
@Override
public void run() {
try {
// 在这里写你要执行的内容(这里是输出语句 )
System.out.println("执行当前时间" + formatter.format(Calendar.getInstance().getTime()));
// System.out.println("这里是要输出的数据");
} catch (Exception e) {
System.out.println("-------------解析信息发生异常--------------");
}
}
}
我想循环的数据是一个sql 语句而且能插入数据库但是不知道怎么操作