繁体   English   中英

您是否需要数据库来存储 java 桌面应用程序中的数据?

[英]Do you need a database to store data in a java Desktop Application?

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

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

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

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

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

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

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

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

但由于它是一个单用户应用程序,只有你的应用程序才能访问数据库,我认为使用嵌入式数据库,如 H2 https://www.h2database.com/html/main.html是通往 go 的方式。这样你不需要运行数据库服务器。

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

JDBC

您询问:

MySQL 和 java 究竟如何协同工作

MySQL, like any other relational database ( Postgres , H2 , Microsoft SQL Server, Oracle, etc.), talks to a Java app via the JDBC framework bundled with Java. You need to provide a JDBC driver specific to your particular database.

请参阅 Oracle 免费提供的有关 JDBC 的详尽教程。另请参阅 Stack Overflow 的同级站点Database Administrators Stack Exchange

我同意建议 H2 数据库引擎满足您需求的其他答案 我已经写了几个答案,其中的代码展示了如何使用 H2。

嵌入式模式

您询问:

我的程序应该能够在单击按钮时启动数据库,而无需启动本地主机。

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

第一种方法(嵌入式)适合您对单用户本地应用程序的需求。 请参阅文档连接到嵌入式(本地)数据库


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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM