java - 每5秒用java扫描一个表sql

标签 java sql

谁能帮我,如何在java中创建一个函数,每5秒扫描一次,以了解mysql表中是否存在新输入的数据。

最佳答案

如果您只需要java解决方案,您可以使用java提供的定时器和定时器任务来完成。

这是代码。

    java.util.TimerTask task = new java.util.TimerTask() {
        int prevCount = 0; // you can declare it static
        @Override
        public void run() {
            Connection conn = getConnection();
            try {
                ResultSet rs = conn.prepareStatement("Select Count(*) from table").executeQuery();
                int count = rs.getInt(1);
                System.out.println("Count diff:"+ (prevCount-count));
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    };
    java.util.Timer timer = new java.util.Timer(true);// true to run timer as daemon thread
    timer.schedule(task, 0, 5000);// Run task every 5 second
    try {
        Thread.sleep(60000); // Cancel task after 1 minute.
    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    timer.cancel();

关于java - 每5秒用java扫描一个表sql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43828152/

相关文章:

MYSQL - 创建 View 查询两个相似的表

java - Eclipse - 提取具有相似变量名的常量时出现错误建议

java - 使用 JavaMailSender 在 Spring 中配置邮件

java - 即使我的所有代码都调用 close 方法,HikariCP 也会检测到连接泄漏

java - 在保持字段可访问的同时在 Scala 中扩展 Java 类

sql - 如何将纬度、经度坐标转换为postgis地理类型

java - Spring MVC 和 BlueMix

mysql - 多个插入索引

sql - MySQL 从日期列中获取每个月的最后一个日期

sql - 连接多个公用表表达式