如何在java中检查新记录是否插入到db中
我需要检查是否已将新记录插入数据库。我正在创建侦听器,以在一定延迟的情况下持续轮询数据库。我需要检查是否插入了新记录,或者是否已插入到表中。在新记录出现时,我希望获取该数据,否则无需从表中获取数据。 这是我的听众课如何在java中检查新记录是否插入到db中,java,mysql,timer,listener,Java,Mysql,Timer,Listener,我需要检查是否已将新记录插入数据库。我正在创建侦听器,以在一定延迟的情况下持续轮询数据库。我需要检查是否插入了新记录,或者是否已插入到表中。在新记录出现时,我希望获取该数据,否则无需从表中获取数据。 这是我的听众课 public class GetGpsDataListener implements ServletContextListener { @Override public void contextInitialized(ServletContextEvent sce)
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是什么
如果需要异步完成,可以考虑将IDS拖到队列中,并允许您的计时器任务读取它们。
因此,您需要知道是否已经插入了新的记录,以及这些新记录是什么?您是只对一个表的插入感兴趣,还是对多个不同的表的插入感兴趣?以及表中插入的内容;您的应用程序,或其他应用程序?仅在一个表和一个应用程序中..您可以保留主键值并检查它您的更新查询行返回true false,这取决于更新是否成功您的问题是什么?