【问题标题】:Do you need a database to store data in a java Desktop Application?您是否需要一个数据库来将数据存储在 Java 桌面应用程序中?
【发布时间】:2021-02-26 23:09:26
【问题描述】:

我希望在 java 中创建一个 BugTracker,由于这是一个“边做边学”的项目,我有几个问题。

快速解释器:该应用程序将有一个登录页面,然后是一个界面,现在将文本(错误描述)分类为 3 个类别(新的、进行中的、已修复的)。我的问题是:

  • 我是否需要应用程序创建的本地数据库来将“Bugs”存储到类别中

  • 我是否需要一个本地数据库才能让不同的用户访问他们在不同类别中存储和移动的不同“错误”

  • 如果我确实需要一个本地数据库,那么 MySQL 和 java 究竟是如何协同工作的?我的程序应该能够通过单击按钮来调出数据库,而无需启动 localhost

如您所知,我正在为我目前的技能选择一个大项目,以便更快地学习,所以如果您对这个项目有任何其他建议或我应该知道的事情,请告诉我。

  • 是的,我知道已经有错误跟踪软件,我想要自己的”-

【问题讨论】:

  • 您的问题对于 Stack Overflow 来说太宽泛了。本网站旨在避免冗长或开放式的讨论。对于一般指导,请使用论坛站点,例如 JavaRanch.com

标签: java mysql database


【解决方案1】:

JDBC

你问:

MySQL 和 java 究竟是如何协同工作的

MySQL 与任何其他 relational databasePostgresH2、Microsoft SQL Server、Oracle 等)一样,通过与 Java 捆绑在一起的 JDBC 框架与 Java 应用程序对话。您需要提供特定于您的特定数据库的JDBC driver

请参阅 Oracle 免费提供的大量 tutorial on JDBC。另请参阅 Stack Overflow 的同级站点,Database Administrators Stack Exchange

我同意 the other Answer 建议 H2 数据库引擎满足您的需求。 I have written several Answers 代码展示了如何使用 H2。

嵌入式模式

你问:

我的程序应该能够通过单击按钮来调出数据库,而无需启动本地主机。

H2 可以嵌入到您的应用中运行,作为您应用的一部分,与您的应用共享相同的JVM。或者,您可以选择在服务器模式下运行 H2 以接受网络调用。

第一种方法(嵌入式)适合您对单用户本地应用的需求。请参阅文档Connecting to an Embedded (Local) Database


提示:最终,一旦掌握了所有这些,我建议使用database migration 工具,例如FlywayLiquiBase 来管理您的数据库定义。

【讨论】:

  • 您好,感谢您的回答和链接,我一定会阅读它们!
  • @SebastianMateas 我很高兴能提供帮助。但是,由于您是 Stack Overflow 的新手,让我说“谢谢”消息在此站点上通常是不必要的,只需单击向上箭头图标按钮(向上投票)就足够了。本网站旨在避免闲聊和讨论。评论是为了澄清问题/答案中的材料。
【解决方案2】:

并非绝对需要使用数据库,但它会让您的工作更加轻松。

但由于它是单用户应用程序,并且只有您的应用程序才能访问数据库,所以我认为使用嵌入式数据库,如 H2 https://www.h2database.com/html/main.html 是可行的方法。这样你就不需要运行数据库服务器了。

但是有一件事您可能没有想到:在您当前的设计中,您只能拥有一个用户,因为错误数据库存储在本地计算机上,因此只能由运行在该计算机上的应用程序访问。

【讨论】:

  • 同意。我已经发布了一些答案,展示了一个完整的示例应用程序,使用 H2 创建具有写入和读取行的数据库,包括昨天的this Answer
  • 非常感谢,我将研究嵌入式数据库,特别是 H2。使用数据库似乎是明智的选择,所以我想在阅读和测试之后我会这样做:) 非常感谢!!
【解决方案3】:

老兄,你想只抓虫子还是也抓虫子?在我的软件中,我喜欢使用日志服务,在 Spring 中,我使用“Log4j2”。我没有为错误实现一个表,因为它会增加很多处理,想象一下数据库中不必要的插入量,还有一件事,你的代码中会有很多try ... catch,所以要做好准备处理很多 kkk 错误。

【讨论】:

  • 我认为你误解了这个问题;他们不是在谈论检测软件中的错误,而是在谈论建立一个defect tracker,人们报告已经发现或怀疑的问题。
  • 嘿,抱歉我的问题不够清楚。我不打算构建一个自动纠正错误的软件(哦,我的..我们都希望这会像听起来一样简单)。我基本上是在为您的手机上的 Notes 应用程序制作一个更复杂的版本,我可以在其中跟踪出现的错误/错误并在此过程中得到修复。谢谢回复
猜你喜欢
  • 2016-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多