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读写本地数据库? 的相关文章

  • 将倒计时器从 10 秒改为 1 秒

    我有一个倒计时器 它以 1 秒的增量从 10000 毫秒倒计时到 0 毫秒 以使按钮在 10 秒后可单击 尽管计时器是准确的并且按照代码的说明执行操作 但我想更改秒的表示方式 但我不知道如何更改 java void startTimer c
  • 如何在Java中使用我的密码加密和解密字符串(PC而非移动平台)? [复制]

    这个问题在这里已经有答案了 我想加密一个字符串然后将其放入文件中 当我想要的时候也想解密它 我不需要很强的安全性 我只是想让其他人更难获取我的数据 我尝试了几种方法 这是这些 Md5加密 如何在 Android 中对字符串进行哈希处理 ht
  • 打印数组时出错

    我得到这个代码 import java util import java io public class Oblig3A public static void main String args OrdAnalyse O new OrdAna
  • SSRS 报告 - IIF 声明问题

    做一个表达式时出现错误 有人可以在这里告诉我正确的语法吗 IIf Fields t cpcp Value 310 Purchased Material Raw Material Nothing IIf Fields t cpcp Value
  • java.time.LocalDate 到 java.util.Date

    转换的最佳方式是什么java time LocalDate to java util Date Date from dateToReturn atStartOfDay ZoneId systemDefault toInstant 我一直在尝
  • 枚举内的枚举

    这不是我被卡住的问题 而是我正在寻找一种简洁的方式来编写我的代码 本质上 我正在编写一个事件驱动的应用程序 用户触发事件 事件被发送到适当的对象 然后对象处理事件 现在我正在编写偶数处理程序方法 我希望使用 switch 语句来确定如何处理
  • Logback 配置在单行上有异常吗?

    我的日志被提取 传输并合并到 elasticsearch 中 多行事件很难跟踪和诊断 有没有办法使用收集器和正则表达式将异常行分组到单个记录中登录配置 https logback qos ch manual layouts html xTh
  • 在Java中读取制表符分隔的文件

    我有以下代码来读取 Java 中的制表符分隔文件 while str in readLine null if str trim length 0 continue String values str split t System out p
  • SQL Server 为什么索引不与 OR 一起使用

    我一直在研究索引并试图了解它们是如何工作的以及如何使用它们来提高性能 但我错过了一些东西 我有下表 Person Id Name Email Phone 1 John E1 P1 2 Max E2 P2 我正在尝试找到对列进行索引的最佳方法
  • 如何使用jdbc驱动编写事务?

    我想使用 jdbc 编写一个事务java 我尝试过这个简单的交易 BEGIN TRANSACTION NL GO NL UPDATE table SET col test where id 1010 NL GO NL COMMIT 我尝试过
  • JDBC元数据检索约束信息

    我需要来自约束名称的有关表和列名称的信息 是否存在类似于connection getMetadata getX的人来检索约束信息 我的测试用例在Oracle数据库中 但我最好的解决方案只是想用jdbc来解决 如果您正在谈论外键和主键约束 这
  • MongoDb Spring 在嵌套对象中查找

    我正在使用 Spring Data Mongodb 和这样的文档 id ObjectId 565c5ed433a140520cdedd7f attributes 565c5ed433a140520cdedd73 333563851 list
  • SQLite 64位整数在jooq中被识别为int

    我有一个与 jOOQ 一起使用的 SQLite 数据库 当我使用 jOOQ 的代码生成工具时 它会按预期构建所有表和记录类 然而 所有的 SQLiteINTEGER列变成java lang Integer生成的代码中的字段 问题是 SQLi
  • 使用 JavaFX 将可执行 Jar 限制为一个窗口

    我正在通过构建 JavaFX 应用程序E fx 剪辑 and Java场景生成器 基本功能是登录窗口 登录后 将打开新窗口 然后登录窗口消失 目前还处于原型阶段 用完eclipse后 我想要的功能都有了 启动时显示登录窗口 代码如下 Ove
  • Spring Boot - 如何在开发过程中禁用@Cacheable?

    我正在寻找两件事 如何在开发过程中使用 Spring boot dev 配置文件禁用所有缓存 application properties 中似乎没有通用设置可以将其全部关闭 最简单的方法是什么 如何禁用特定方法的缓存 我尝试像这样使用 S
  • 如何解决声纳中的 dodgy:unchecked/unconfirmedcast 问题?

    我在下面的代码中通过声纳获得异常 我该如何解决这个问题 建议我 Override public boolean validate BaseInfo infoObject boolean isValid true AckTransferPay
  • 检索前 10 行并对第 11 行中的所有其他行求和

    我有以下查询来检索每个国家 地区的用户数量 SELECT C CountryID AS CountryID C CountryName AS Country Count FirstName AS Origin FROM Users AS U
  • 如何为用户的活动设置计时器?

    如果用户在 5 小时内停止工作 我需要执行特定的方法 假设用户已登录 但他在 5 小时内没有向数据库的特定表添加任何记录 任何时候用户将记录添加到指定的表中 该特定用户的计时器都应该重置 否则它将继续运行 如果达到 5 小时 应用程序应显示
  • 将Json字符串映射到java中的map或hashmap字段

    假设我从服务器返回了以下 JSON 字符串 response imageInstances one id 1 url ONE two id 2 url TWO 杰克逊代码大厦 JsonProperty 我怎样才能得到HashMap对象出来了
  • 仅当用户开始输入时清除 JavaFX TextField 中的提示文本

    默认行为是当字段获得焦点时 字段中的提示文本将被删除 那是标记在场上的时候 是否可以配置文本字段 以便仅在用户开始输入时删除提示文本 否则 我需要在每个文本字段旁边 上方添加一个标签 以描述其中的值 我知道它有点旧 但我自己也需要它 这仍然

随机推荐

  • 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然后当我完成后 我将其写入文本文件 我需要操纵这些信息 但是 它创建了一个巨大的文本文件 我无法不断地读取信息并将信息写入文本文件 因为它需要很长时