繁体   English   中英

如何检查新记录是否插入到Java中的数据库

[英]How to check the new record is inserted or not to db in java

我需要检查是否有新记录插入到数据库中。 我正在创建侦听器,以不断延迟地轮询数据库,我需要检查是否插入了新记录或新记录中的表是否插入其中,我想获取该数据,否则无需从表中获取数据。 这是我的侦听器类。

public class GetGpsDataListener implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent sce) {
        Timer timer = new Timer();
        timer.schedule(new MyTimerTask(), 1000, 1000);
    }

    @Override
    public void contextDestroyed(ServletContextEvent sce) {
    }
}

这是我的计时器课程。

public class MyTimerTask extends TimerTask {

    @Override
    public void run() {
        System.out.println("Inside run");
        // Here I will connect to database to check new record from table..
    }
}

如果您的应用程序正在执行所有插入操作,那么我认为我不会轮询数据库以查看是否已插入新记录。 轮询数据库可能会占用大量资源,尤其是在表变大的情况下,通常还意味着您需要在应用程序中保留一些状态,以便查看发生了什么变化。

当您的应用程序执行插入操作时,将可以看到

  • 插入是否成功
  • 插入记录的ID是什么

我只允许执行插入操作的代码与一个单独的类进行通信,该类可以成功插入并且插入记录的ID是什么。 单独的类可以执行所需的任何操作。

如果需要异步完成此操作,则可以考虑将ID放入队列,并允许您的计时器任务读取它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM