为了账号安全,请及时绑定邮箱和手机立即绑定

Java系列:Java定时刷新 (TimerTask与Thread)

标签:
Java
public ElectrMonitor() {
        TimerTask task = new TimerTask() {
            public void run() {
                insertElectr_data();
            }
        };
        Timer timer = new Timer();
        long delay = 0;
        long intevalPeriod = 1 * 1000;
        timer.scheduleAtFixedRate(task, delay, intevalPeriod);
    }
public ElectrMonitor() {
        new Thread() {
            public void run() {
                while (true) {
                    try {
                        insertElectr_data();
                        Thread.sleep(1000);
                    }
                    catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }.start();
    }
private void insertElectr_data(){
        String sql ="insert into electr_data(ID,SUBSTATION,U_UAB,U_UBC,U_UCA,U_3U0," +
                "I_LA,I_LC,I_3I0,P_AP,P_RP,P_PF,S_SCP,S_OCP,S_OLP,S_LVP,S_PTB,S_LP,S_LA,S_CF," +
                "IS_BRAKE,EQUNAME,AREANAME,timestamp) " +
                "select ID,SUBSTATION,U_UAB,U_UBC,U_UCA,U_3U0," +
                "I_LA,I_LC,I_3I0,P_AP,P_RP,P_PF,S_SCP,S_OCP,S_OLP,S_LVP,S_PTB,S_LP,S_LA,S_CF," +
                "IS_BRAKE,EQUNAME,AREANAME,sysdate from electr_equ";
        try {
            executeSQL(sql);
        } catch (Exception e){
            e.printStackTrace();
        }
    }
private void executeSQL(String sql) {
        Connection conn      = null;
        Statement  stat      = null;
        try {
            conn   =  getConnection();
            stat   =  conn.createStatement();
        }
        catch (Exception e) {
            e.printStackTrace();
            return;
        }
        try {
            stat.execute(sql);
        }
        catch (Exception e) {
            e.printStackTrace();
            return;
        }
        try {
            if (stat != null) stat.close();
            if (conn != null) conn.close();
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }

public Connection getConnection(){
        Connection connection  = null;
        try {
            Class.forName(DRVIER);
            connection = DriverManager.getConnection(URL, USERNAMR, PASSWORD);
            System.out.println("成功连接数据库");
        } catch (ClassNotFoundException e) {
            throw new RuntimeException("class not find !", e);
        } catch (SQLException e) {
            throw new RuntimeException("get connection error!", e);
        }
        return connection;
    }
点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
171
获赞与收藏
888

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消