2011-10-02 87 views
0

我有一个用于查看雪茄的软件,用户输入统计信息(名称,价格,品牌,国家,长度等)和评论(可能是一段或两段)。 Theres是一个搜索以前审查过的雪茄的菜单,它可以提取统计数据并查看该雪茄。 目前,它易于搜索雪茄,因为数据全部存储在本地服务器上的MySQL数据库中(例如,我有一个按钮'国家',它将填充菜单中存储在db中的雪茄国家(古巴,nicuragua等...然后点击国家将填写该国家的雪茄的名称 - 点击名称显然带来了统计和审查))存储数据XML,数据库和...的解决方案?

我想转换它数据存储在软件将创建的xml文件中。这很容易做到吗?请记住,每次编写新的评论时都需要更新xml文件?我开始尝试使用XStream,但我想也许JAXB可能会更好? 我的问题是,是否有另一种方式来存储更合适的数据?我是否正在使用xml文件和JAXB思路?

感谢任何输入

+0

对不起didnt一提,它用Java编写的! – Greggg

+1

我认为更强大的解决方案就是您已经实施的数据库。是什么促使你从数据库转换到XML持久性? –

+1

你为什么要这样做?将所有数据存储在XML文件中的优势是什么?你想如何组织XML数据?每个评论一个XML文件? – vanje

回答

5

对不起,侧步从你的问题有点。 正如上面的评论已经提到的那样,最好的解决方案就是你现在所拥有的,将其存储在数据库中。只使用XML文件来存储和维护所有这些信息会产生很多问题(并且您的应用程序将会很慢并且在您可以执行的查询上受到限制)。

如果我理解正确,那么考虑XML是因为您希望应用程序完全自包含。如果是这样,我建议另一种方法。尝试另一个数据库引擎,如SQLite3或H2。您可以简单地将jar添加到您的应用程序中,如果您阅读了一些文档,将数据库维护在一个简单的文件中非常容易,无需安装。 SQLite3目前用于大多数Web框架,如Django,RoR等,作为开箱即用的数据库,因此您可以开始实施。

还有一个好处是您的当前逻辑可能“按原样”工作,因为这两个数据库都支持标准SQL。

认为这可能会解决您的问题?

最好的问候,佩德罗

+1

只需添加,如果您使用的是java,那么[HSQLDB](http://hsqldb.org/)可以在内存或文件中创建数据库。它也可以配置为只允许访问本地机器或通过网络,而且使用起来非常简单。它也是8年以上的行业标准。 – Ali

+0

感谢您的补充!实际上,我曾经在一个项目中使用过HSQLDB,但由于某种原因忘记了。 – pcalcao