Java 对JTable使用ResultSetTableModel有什么好处?

Java 对JTable使用ResultSetTableModel有什么好处?,java,jtable,abstracttablemodel,Java,Jtable,Abstracttablemodel,我正在用Java编写一个桌面应用程序,它使用两个JTable作为主要输出 我有一个工作版本的程序,其中我使用DefaultTableModels管理JTables的底层数据,并使用ArrayList在每个模型中存储数据 但是,我遇到了ResultSetTableModel,它将数据存储在ResultSet和ResultSetMetaData对象中,以实现TableModel方法 但我不清楚使用ResultSetTableModel相对于DefaultTableModel或AbstractTabl

我正在用Java编写一个桌面应用程序,它使用两个JTable作为主要输出

我有一个工作版本的程序,其中我使用DefaultTableModels管理JTables的底层数据,并使用ArrayList在每个模型中存储数据

但是,我遇到了ResultSetTableModel,它将数据存储在ResultSet和ResultSetMetaData对象中,以实现TableModel方法

但我不清楚使用ResultSetTableModel相对于DefaultTableModel或AbstractTableModel的好处。我已经搜索过了,找不到任何关于这个的讨论


有人知道为什么人们会喜欢ResultSetTableModel而不是其他选项吗?

如果使用DefaultTableModel,则必须手动将数据存储到模型中,如果您将ResultSetTable数据自动加载到JTable中,这就是区别。

我只是做了更多的研究,并编写了一个使用ResultSetTableModel的小程序,主要区别似乎是,对于ResultSetTable,无论何时更新模型,您都在更新resultset,这种变化会立即反映在底层数据库中。(只要在创建语句对象时设置ResultSet.CONCUR_Updateable标志。)但当使用DefaultTableModel或AbstractTableModel(将模型数据存储在2D ArrayList中)时,必须编写单独的SQL调用来更新基础数据库表。