如何从数据库中存储对象?

时间:2011-08-08 15:49:14

标签: java algorithm swing object performance

我正在开发一个java应用程序,它将以图形方式描绘和组织数百个对象。这些对象中的每一个都从SQL数据库加载,以便在此程序中使用。

我计划保留所有数据的本地副本,通过JDBC连接进行重新审核,然后在本地进行排序(可能与Merge Sort一样,因为这是我的最爱)

您如何建议我在本地存储数据?理想情况下,遍历,排序和比较源数据库非常容易。

目前,我有一些名为Ideas的对象,这些对象是从数据库中填充的。然后,为了显示它们,我创建了相同数量的IdeaGraphics个对象并将它们添加到相应的JPanels中。这有时可能很慢。

3 个答案:

答案 0 :(得分:3)

您可以实施Comparator界面并使用Collections.sort(),修改后的合并广告,如here所示。

答案 1 :(得分:3)

也许你已经这样做了,但在你的问题中并不是那么清楚:

您可以获得几乎与数据类(Ideas)一样多的实例,但它与图形类完全不同。将小部件和图形的数量限制为1.

构建您自己的自定义JPanel类,为其提供一个构思列表,并覆盖paintComponent方法以绘制列表中的所有项目。

如果您的可见区域很大,请对其进行双重缓冲。

答案 2 :(得分:1)

我不同意这一点,并不是很好的想法,在本地内存中保存大量数据,想要模拟来自Sql Engine(当今大多数引擎)的优秀预处理器,然后基本上更快,最好{{1} }

如果您对数据库有一些 WHATEVER 权限,那么仍然存在将数据从DbEngine加载到Embedded database(在内存上)的选项,也许是{ {3}}或者H2