我(基本上)正在研究用Java编写的日历应用程序,我需要一种方法来存储日历事件.这是我编写的第一个"真正的"应用程序,而不是简单的项目(通常用于类),它们不在程序会话之间存储信息,或者将它作为text或.dat文件存储在与程序相同的目录中,所以我有几个非常有关数据存储的基本问题.
如果有一些教程(或多个教程)涵盖了我的问题的答案,那些链接将是完全可以接受的答案.
(我知道已经提出了一些类似的问题,但我找不到任何一个完整的初学者观点.)
编辑:就像我在其中一条评论中所说的那样,总的来说,我有兴趣用它作为一个学习如何以"正确"(合理可扩展,合理标准)的方式做事的机会,即使有更简单的方法在这种基本情况下可以使用的解决方案.
为了快速解决方案,如果您的数据结构(当然还有访问它们的方式)足够简单,请使用您自己的格式(例如二进制、XML 等)或标准格式读取数据并将其写入文件例如iCalendar可能更适合您的问题。iCal4J等库可能会帮助您。
考虑到您的问题的更一般方面,这是一个更广泛的主题,但您可能想阅读有关数据库(关系型或非关系型)的内容。是否要使用它们将取决于应用程序的整体复杂性。
通过JBDC,可以在 Java 中使用许多关系数据库。这应该允许您连接到您选择的关系数据库(SQL)。其中一些在自己的服务器应用程序中运行(例如 MS SQL、Oracle、MySQL、PostgreSQL),但其中一些可以嵌入到您的 Java 应用程序中,例如:JavaDB(Apache Derby DB 的变体,仅包含在 Java 版本中) 5 到 7)、Apache Derby DB、HSQLDB、H2或 SQLite。
这些可嵌入的 SQL 数据库本质上将数据存储在运行应用程序的同一台计算机上的文件中(以特定于它们的格式),但允许您通过 SQL 查询来使用数据。好处包括数据的特定结构(在设计表和可能的约束时构建)以及(在引擎支持时)通过事务处理并发访问的能力。即使在桌面应用程序中,这也可能很有用。
如果您必须学习 SQL,这可能意味着一个学习曲线,但它应该可以让您省去处理定义自己的文件格式的细节的麻烦。通过 SQL(通常为其他开发人员所知)为数据提供结构可能比定义自己的数据结构更好,无论如何,您都必须将数据结构保存到自己的文件中并从自己的文件中读取。
此外,如果您想直接处理对象,而不了解太多 SQL,您可能会对对象关系映射框架(例如Hibernate)感兴趣。他们的目的是通过直接存储/加载对象来向您隐藏 SQL 详细信息。并不是每个人都喜欢它们,而且它们也有自己的学习曲线(这可能还需要学习 SQL 工作原理的一些细节)。它们的优缺点可以详细讨论(StackOverflow 甚至 DBA.StackExchange 上肯定有关于此的问题)。
还有其他形式的数据库,例如 XML 数据库或语义 Web/RDF 数据库,它们可能适合也可能不适合您的需求。
| 归档时间: |
|
| 查看次数: |
12655 次 |
| 最近记录: |