Java чтение и запись в локальную базу данных? - PullRequest
4 голосов
/ 29 июня 2011

У меня есть программа, которая постоянно получает информацию с веб-сайта и постоянно обновляется. На данный момент я храню всю эту информацию в arraylist, а затем, когда я закончу, я записываю ее в текстовый файл.

Мне нужно манипулировать этой информацией; однако он создает массивный текстовый файл, и я не могу постоянно читать и записывать информацию в текстовый файл, потому что это занимает слишком много времени. Так что кто-то сказал мне изучить использование базы данных. Единственной базой данных, которую я когда-либо использовал, была база данных MySQL для веб-сайта, никогда с java.

Есть ли способ сделать базу данных локальной? Как только на моем компьютере (не хотите платить за веб-хостинг, когда я единственный, кто получает доступ к этой информации на моем компьютере)? Я немного посмотрел на SQLite, но одна вещь, которую я увидел, заключалась в том, что он не допускает параллелизма. Я думаю о многопоточности моей программы и о том, чтобы она одновременно читала и записывала разные разделы. Это возможно?

В основном я прошу вот что:

  1. Какой тип базы данных мне следует использовать?
  2. Как мне установить эту базу данных на моем компьютере?
  3. Некоторая информация о том, как использовать Java jdbc? (Читал немного в нем раньше)
  4. Любые учебные пособия по любому из вышеперечисленных (видео, текст и т. Д.)

Ответы [ 4 ]

8 голосов
/ 29 июня 2011

Похоже, ваш друг прав, и база данных очень поможет вам улучшить производительность.

  1. Вы действительно можете использовать любой тип базы данных. Вы даже можете продолжить использовать MySQL, установив его локально и используя Connector / J для подключения в Java. Хотя встраиваемые базы данных, вероятно, самые простые. Один из вариантов: Гиперзвуковая БД (HSQLDB)
  2. Нет необходимости «устанавливать» встраиваемые базы данных. Просто добавьте их библиотеку (файл .jar) в путь сборки вашего проекта. Когда вы «подключаетесь» к базе данных, вы обычно можете указать базе данных использовать местоположение в вашей файловой системе для хранения своих данных.
  3. JDBC означает Java DataBase Connectivity. Это API, используемый приложениями Java для связи с базами данных. Одна из важных особенностей JDBC заключается в том, что (как правило) не имеет значения, с какой базой данных вы говорите, поскольку API для доступа к любой базе данных является одним и тем же *.
  4. Вот один учебник для JDBC: Доступ к базе данных JDBC (TM)

* API для доступа к базам данных - например, отправка запросов и получение результатов - как правило, будут одинаковыми, но JDBC не может скрыть различия в таких вещах, как SQL. Если вы используете ORM, такой как Hibernate , обычно гораздо проще справиться со всеми небольшими несовместимостями между базами данных.

1 голос
/ 29 июня 2011

Вам нужна встраиваемая база данных Java, например, HSQL .

0 голосов
/ 08 июля 2016

Что вам действительно нужно, так это встроенная база данных Java, вы можете найти их огромный список здесь: Сравнение встроенных баз данных Java

0 голосов
/ 29 июня 2011

Существуют различные варианты для встраивания базы данных SQL в JVM, например. Derby .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...