web每5秒向數據庫中插入一條記錄-學習筆記
阿新 • • 發佈:2018-04-20
每5秒向數據庫中插入一條記錄-學習筆記SystemListener
import java.util.Timer; import java.util.TimerTask; import java.util.UUID; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import cn.itcast.web.dao.SystemDao; public class SystemListener implements ServletContextListener { private Timer timer = new Timer(); public void contextInitialized(ServletContextEvent sce) { try { SystemDao systemDao = new SystemDao(); systemDao.createTable("systemInit"); timer.schedule(new SystemTask(),0,5*1000); } catch (Exception e) { } } public void contextDestroyed(ServletContextEvent sce) { try { SystemDao systemDao = new SystemDao(); systemDao.dropTable("systemInit"); //中止定時器 timer.cancel(); } catch (Exception e) { } } } //任務類 class SystemTask extends TimerTask{ public void run() { try { SystemDao systemDao = new SystemDao(); systemDao.init("systemInit",UUID.randomUUID().toString()); } catch (Exception e) { } } }
表
*/ import java.sql.SQLException; import org.apache.commons.dbutils.QueryRunner; import cn.itcast.web.util.JdbcUtil; public class SystemDao { //刪除表 public void dropTable(String tableName) throws SQLException{ QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); String sql = "drop table if exists " + tableName; runner.update(sql); } //創建表 public void createTable(String tableName) throws SQLException{ QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); String sql = "create table if not exists "+tableName+"(id varchar(40) primary key,curr_time timestamp not null)"; runner.update(sql); } //初始化數據 public void init(String tableName,String id) throws SQLException{ QueryRunner runner = new QueryRunner(JdbcUtil.getDataSource()); String sql = "insert into "+tableName+"(id) values(?)"; runner.update(sql,id); } }
web.xml配置
web每5秒向數據庫中插入一條記錄-學習筆記