JDBC上的缓存数据



我已经使用Java Swing创建了一个数据库应用程序。每当我调用查找类时,我的程序都会从数据库中检索数据。查找类只是创建语句,获取当前数据库连接,然后执行语句。数据库中的返回值将放置在结果集上,然后将显示在JTable上。问题是:

我打开了查找类,结果显示了。然后,我转到sqlyog或heidisql(操作数据库的应用程序),编辑我程序上显示的值,然后保存。我回到了我的程序,关闭查找课程然后重新打开它,我仍然可以获得以前的数据,而不是编辑的数据。请帮忙。查找类打开后,必须显示更新。获得更新数据的唯一方法是关闭整个程序然后重新打开它,我不想做。

编辑:这就是我尝试的。基本上,一旦我的程序第一次创建了与数据库的连接,我将其保存到另一个类,该类使连接始终打开(我假设)。因此,每当我想创建查询时,我都会致电类以获取连接。我现在所做的是,在从查找类中执行查询后,我关闭了与.close()函数的连接。它有效,但是我真的需要每次关闭连接吗?同样,这只是一个桌面应用程序,而不是网络程序。

我认为您有一个交易隔离问题。一些驱动程序在抓住连接时开始隐式交易,因此您当时会看到数据库的快照。您可能需要一个读取级别的级别,该级别应显示数据库,并使用所有所应用的交易。

看起来您尚未提交编辑,或者您需要通过刷新查询来刷新数据。

相关内容

  • 没有找到相关文章

最新更新