如何获取应用程序在退出前读取的数据库表的最后一行号
Posted
技术标签:
【中文标题】如何获取应用程序在退出前读取的数据库表的最后一行号【英文标题】:How to get the last row number of the database table read by the application before exit 【发布时间】:2013-10-19 05:42:30 【问题描述】:我制作了一个从表中读取数据的处理工具。表中有大量数据,因此不可能一次完成所有处理。我的问题是当我的处理应用程序重新启动时,它会从头开始处理,这是我不想要的。我想从它停止执行的下一行开始处理。
所以我的问题是:Java 中是否有任何方法可以记录处理的最后一行,并在我的应用程序停止后立即将其保存到表中。
【问题讨论】:
【参考方案1】:出于here 所述的原因,请考虑使用java.util.prefs.Preferences
来存储所需的重启数据。
【讨论】:
【参考方案2】:我不认为他们是这样的任何方法。
由于上次访问的行的值应该在下次应用程序重新启动时知道,所以它的平均值应该随着时间的推移而持久化。
也许您可以创建另一个表并存储最后一个可见行的主键,因此当您的应用程序重新启动时,它会检查主键是否匹配并从其开始搜索。
或者他们可以是其他方法,如文件附加等,取决于你
希望对你有帮助。
【讨论】:
【参考方案3】:您可以生成一个文件来存储每次读取的行。
PrintWriter writer = new PrintWriter("table-process", "UTF-8");
writer.println(row);
writer.close();
当应用程序启动时,您只需读取该文件的值并初始化行数。
【讨论】:
以上是关于如何获取应用程序在退出前读取的数据库表的最后一行号的主要内容,如果未能解决你的问题,请参考以下文章
如何在 eloquent 中执行依赖于表的最后一行的更新和保存操作?