java - 如何为 java 程序创建持久内存?
问题描述
我是编程的初学者,所以我正在尝试通过项目来学习。我最新的项目是创建一个可从不同计算机访问的议程/日历(如家庭日历),这样妈妈或爸爸就可以发布他们的活动,每个人都可以看到每个人的计划。
对于可以存储家庭议程实例以便他们可以随时返回的程序,我假设需要某种数据库或服务器来存储他们的信息。我怎么能这样做?
如果我的问题含糊不清,我深表歉意。我对编程比较陌生,但非常渴望继续学习。
解决方案
内存是易失的。为了持久存储数据,您需要将其写入文件或数据库中。
由于这是基于意见的问题,我提出我的意见。
- 您可以从学习读取和写入文件(文本和二进制文件)开始。在写入和读取文件时,您需要决定需要以哪种格式存储 JSON、Yaml、XML 或逗号分隔或序列化对象并将它们存储到文件中。这是你的选择。
在阅读时,您需要编写自己的逻辑来搜索它们。因此,虽然文件是存储数据的好方法,但您需要编写自己的搜索机制或使用 Elastic 搜索等文档搜索。
- 另一种选择是使用提供 SQL 功能的数据库(如果使用关系数据库)来搜索您的数据库。为了使用数据库,您应该了解数据库、读取和写入数据库以及在 java 中建立与数据库的连接。
在我看来,
您应该从数据库方法开始,因为您可以轻松地查询日期以获取给定日期出现的所有事件。因为,您不仅想存储事件,还想去一个特定的日期并列出该日期计划的事件。因此,您需要以易于搜索和阅读的方式存储数据。
另外,我建议您使用 Spring 框架和 Maven,它们可以以最少的配置处理所有依赖项、数据库连接。您可以使用h2 数据库,它是 SQLite 版本,易于使用。使用基于文件的数据库,您现在不需要使用服务器。
编辑
同样正如@springe 所建议的那样,您可以使用任何像 Hibernate 这样的 ORM 来处理数据库,这是一种安全且推荐的方式,即使在工业代码中也是如此。基本上,在执行 CRUD 操作时使用 JPA/Hibernate 是一种很好的做法。
但是,由于您是编程和其他东西的新手,因此要掌握简单的 SQL 并学习使用 ORM 等良好实践。
供参考
您可以参考Baeldung以获取参考,只需 google如何在 java Bealdung 中执行此操作,您将获得非常酷且简短的操作指南。
您将获得连接到 h2database 的 spring 配置、对 Spring 的 maven 依赖项以及 Baeldung 的数据库。一切都是标准的,你只需要复制粘贴,同时了解事情是如何工作的。
继续学习,我喜欢你的精神。:)
推荐阅读
- solr - SOLR UI - 如何在 facet.query 中添加多个值?
- c# - 如何获取嵌套 JSON 文件中的密钥并将其添加到组合框
- python - 如何验证 virtualenv 的完整性
- sql - 在大表上运行缓慢的 SQL 查询
- mysql - 从重复记录中过滤以获取 MYSQL 中的单个记录
- c++ - 没有匹配的成员函数调用“push_back”错误
- git - Visual Studio Code 中的 Git - 推送到不使用上下文菜单
- mongodb - 如何处理 PyMongo/MongoEngine 自动重新连接?
- android - 如何在包含宽度为“0dp”的视图的约束布局中将打包链居中?
- python - 更新人脸识别模型中的新数据