Чтение и запись Java в локальную базу данных?

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

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

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

В принципе, я прошу здесь:

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

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

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

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


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


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


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

licensed under cc by-sa 3.0 with attribution.