Java读写本地数据库?

Jon*_*orm 4 java sql jdbc

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

我需要操纵这些信息; 但是,它创建了一个庞大的文本文件,我不能经常读取和写入文本文件的信息,因为它需要太长时间.所以有人告诉我要研究使用数据库.我曾经使用过的唯一一个数据库是一个网站的MySQL数据库,而不是java.

有没有办法让数据库本地化?就像在我的电脑上一样(当我是唯一一个在我的电脑上访问这些信息的人时,不想支付网络托管费用)?我看了一点SQLite,但我看到的一件事是它不允许并发.我正在考虑对我的程序进行多线程处理,并让它同时读写不同的部分.这可能吗?

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

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

Jac*_*nds 8

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

  1. 您可以真正使用任何类型的数据库.您甚至可以通过在本地安装MySQL并使用Connector/J以Java连接来继续使用MySQL .虽然可嵌入数据库可能是最简单的.一个选项是Hypersonic DB(HSQLDB)
  2. 无需"安装"可嵌入数据库.只需将他们的库(.jar文件)添加到项目的构建路径中.当您"连接"到数据库时,通常可以告诉数据库使用文件系统上的某个位置来存储其数据.
  3. JDBC代表Java DataBase Connectivity.它是Java应用程序用于与数据库通信的API.JDBC的一个重要特性是它(通常)与您正在谈论的数据库无关,因为用于访问任何数据库的API是相同的*.
  4. 这是JDBC的一个教程:JDBC(TM)数据库访问

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