Java读写本地数据库?

2023-12-14

我有一个程序不断从网站获取信息并不断更新。截至目前,我将所有这些信息存储在arraylist然后当我完成后,我将其写入文本文件。

我需要操纵这些信息;但是,它创建了一个巨大的文本文件,我无法不断地读取信息并将信息写入文本文件,因为它需要很长时间。所以有人告诉我研究一下使用数据库。我使用过的唯一数据库是网站的 MySQL 数据库,从未使用过 java。

有什么办法可以使数据库本地化吗?就像仅在我的计算机上一样(当我是唯一在我的计算机上访问此信息的人时,不想支付网络托管费用)?我对 SQLite 进行了一些研究,但我看到的一件事是它不允许并发。我正在考虑对我的程序进行多线程处理,并让它同时读取和写入不同的部分。这可能吗?

基本上我在这里要求的是:

  1. 我应该使用什么类型的数据库?
  2. 如何在我的计算机上安装该数据库?
  3. 关于如何使用 Java jdbc 的一些信息?(之前读过一点)
  4. 有关上述任何内容的任何教程(视频、文本等)

听起来你的朋友是正确的,数据库将极大地帮助你提高性能。

  1. 您确实可以使用任何类型的数据库。您甚至可以通过在本地安装并使用 MySQL 来继续使用它连接器/J在 Java 中连接。尽管嵌入式数据库可能是最简单的。一种选择是高超音速数据库 (HSQLDB)
  2. 无需“安装”嵌入式数据库。只需将其库(.jar 文件)添加到项目的构建路径中即可。当您“连接”到数据库时,通常可以告诉数据库使用文件系统上的某个位置来存储其数据。
  3. JDBC 代表 Java 数据库连接。它是 Java 应用程序用来与数据库通信的 API。 JDBC 的重要特性之一是(通常)您正在与哪个数据库进行通信并不重要,因为用于访问任何数据库的 API 都是相同的*。
  4. 这是 JDBC 的一个教程:JDBC(TM) 数据库访问

*用于访问数据库的API——例如发送查询和检索结果——通常是相同的,但 JDBC 无法隐藏 SQL 等方面的差异。如果你使用像这样的 ORM休眠,它通常可以更轻松地处理数据库之间的所有小不兼容性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java读写本地数据库? 的相关文章

随机推荐

  • Pytorch几何稀疏邻接矩阵到边缘索引张量

    我的数据对象有data adj t参数 给我稀疏邻接矩阵 我怎样才能得到edge index大小张量 2 num edges 由此 正如你在docs 由于此功能仍处于实验阶段 一些操作 e g 图池方法 可能仍然需要您输入edge inde
  • 对动态数据透视列进行排序

    我有以下 SQL 查询 其中创建的列是无序的 我不太确定如何修复它 SELECT rhead rhcust AS Cust ID rdetl rdextp AS Inv Amt rhead rhivdt AS Inv Date INTO T
  • 测试java HBase连接

    我正在尝试使用 HBase Java API 将数据写入 HBase 我通过 Ambari 安装了 Hadoop HBase 以下是当前设置配置的方式 final Configuration CONFIGURATION HBaseConfi
  • 如何以编程方式安装 Android 应用程序而不提示,

    我正在尝试在没有提示的情况下以编程方式安装该应用程序 意味着安装应用程序时不会显示用户必须按下的弹出窗口install选项 我跟着THIS回答 但每当我运行代码时 它都会抛出错误 java io IOException 运行 exec 时出
  • 如何使用 Cloudformation 在 AWS WAF 中启用 WebACL 日志记录?

    我正在经历AWS WAF 云信息文档 我找不到启用日志记录的方法 我可以通过控制台启用日志记录 但我想通过 Cloudformation 来执行此操作 以便在新堆栈中默认启用它 如何通过 Cloudformation 在 AWS WAF W
  • MS Office 2007 文件的 PHP 5.3.5 fileinfo() MIME 类型 - magic.mime 更新?

    在 PHP 上传中 我尝试验证正在上传的文件的 MIME 类型 以匹配应用程序的一组有效的 MIME 类型 当尝试使用 fileinfo 确定 Office 2007 文件的 MIME 类型时 它没有检测到相应的 MIME 类型 相反 MI
  • 带 React Hooks 的可重用下拉菜单

    正如我从 React 文档中得到的那样 使用钩子不需要大量代码重构 并且可以轻松包含在现有代码中 我想制作可重用的下拉菜单 从反应组件渲染方法调用 这是我的代码 navigation js import DropdownToggler fr
  • Regex.Replace 拒绝用换行符替换

    您好 我编写了一个非常简单的 C 程序 从命令行使用 C Regex 而不是依赖于 MS Word 搜索和替换 问题是 即使正则表达式可以很好地识别 r 和 n 当我尝试用其中任何一个替换字符串时 它似乎用转义字符而不是字符本身替换它 ST
  • 如何为 System.out.println 输出着色? [复制]

    这个问题在这里已经有答案了 如何为 Java 输出着色 例如 在 C 和其他语言中 我可以使用 ANSI escape 例如 033 0m去做这个 但在Java中它不起作用 public static void main String x
  • Git checkout:更新路径与切换分支不兼容

    我的问题与切换分支时发生致命 Git 错误 我尝试使用命令获取远程分支 git checkout b local name origin remote name 但我收到此错误消息 致命 git checkout 更新路径与切换分支不兼容
  • 使用 jQuery 更改背景颜色

    我正在尝试使用 jQuery 更改背景颜色 我究竟做错了什么 我知道使用 CSS 可以更轻松地完成此操作 但我正在尝试使用 jQuery 来完成此操作 Link to jsfiddle 我正在尝试将 Hi 的背景更改为黄色 window o
  • 在绑定中使用 StringFormat 显示带空格的十六进制值

    我一直无法弄清楚如何使用 StringFormat 将十六进制显示为 08 A4 23 F5 具体来说 我想要每 2 个字符后面有一个空格 当我这样做时 Text Binding MyIntValue StringFormat 0 x 它看
  • 正则表达式使电子邮件域因两个连续点而失败

    我正在尝试验证电子邮件的域部分 并且我想检查域中是否没有两个连续的点 即以下内容无效 电子邮件受保护 电子邮件受保护 电子邮件受保护 电子邮件受保护 我有正则表达式来找到它 2 2 但我在 NET 中使用正则表达式属性 并且想要构建有效的正
  • 单击哪个按钮打开表单

    我有一个表单 可以通过单击三个按钮 添加 修改或删除 中的任何一个来加载 当表单加载时 有一个 确认 按钮 该按钮将根据最初用于显示表单的按钮来执行任务 有没有一种简单的方法来确定最初单击的是哪个按钮 以便执行正确的代码 Thanks 好吧
  • 使用 PHP 操作内存中的存档(无需在磁盘上创建临时文件)

    我正在尝试用 PHP 即时生成存档并立即将其发送给用户 不保存 我认为不需要在磁盘上创建文件 因为我发送的数据无论如何都不是持久的 但是 在搜索网络时 我无法找到如何创建文件 我也不关心文件格式 所以 问题是 是否可以在 php 脚本中创建
  • 如何设置int值为null? Java Android [重复]

    这个问题在这里已经有答案了 这是设置已定义的最佳方式int to null private int xy int x 5 x null this is ERROR return x 所以我选择这个 private int xy Intege
  • 在 JOptionPane 中将文本右对齐

    是否可以在 JOptionPane 中将文本向右对齐 我不想使用JDialog 因为我想用阿拉伯语写一些句子 创建一个 JPanel 在 JPanel 中对齐文本 然后将 JPanel 添加为 JOptionPane 的 Object 参数
  • 如何在 Swift 中以编程方式旋转一组按钮?

    我正在尝试以编程方式将编号按钮排列在一个圆圈中 NSLayoutConstraint 锚定视图 而 UIView 的子类创建按钮圈 框架绕中心旋转 但按钮旋转不一致 除一次旋转外 所有旋转中的文本方向均相同 for example 我用于排
  • jquery ajax进度与自定义计算

    在执行处理图片的长 PHP 脚本时 我需要有关 ajax 进度条的建议 我知道 stackoverflow 上已经有很多问题了 比如 显示长时间运行的 PHP 脚本的进度 or 通过 xhr 实现 JQuery ajax 进度 or 使用a
  • Java读写本地数据库?

    我有一个程序不断从网站获取信息并不断更新 截至目前 我将所有这些信息存储在arraylist然后当我完成后 我将其写入文本文件 我需要操纵这些信息 但是 它创建了一个巨大的文本文件 我无法不断地读取信息并将信息写入文本文件 因为它需要很长时