Простая база данных для развертывания с помощью приложения Java SE - PullRequest
4 голосов
/ 13 декабря 2010

У меня есть приложение Java SE, и оно использует базу данных.В настоящее время я использую XML-файлы для хранения данных, но боюсь, что это приведет к некоторым ошибкам при последующем использовании.

Так что было бы хорошо использовать Postgree / MySQL, как DB.Настоящая база данных.но проблема в том, что это коммерческое приложение, оно работает под Windows, и для его установки требуется 2 клика.Мне действительно не нравится идея установить базу данных вместе с моим приложением, а затем запустить сценарии для создания таблиц.

Есть ли база данных, которую я могу использовать в качестве Java API?Или я должен просто продолжать использовать XML?(Я синхронизирую каждый доступ к моим файлам XML).Какой лучший выбор?

Ответы [ 4 ]

13 голосов
/ 13 декабря 2010

Одна из следующих встроенных баз данных:

Они легкие, занимают очень мало места и могут быть без проблем встроены в ваше приложение.

Поскольку они написаны на Java, каждый из них представляет собой простой файл JARВаши головные боли при развертывании будут сведены к минимуму.

Вы упомянули MySQL и PostgreSQL.Хотя я не пробовал, H2 имеет несколько режимов совместимости для различных популярных баз данных, в том числе упомянутых вами.

4 голосов
/ 13 декабря 2010

База данных H2

Он может быть встроен в ваше приложение без необходимости установки и поддерживает JDBC и большинство ORM.

3 голосов
/ 13 декабря 2010

Определенно стоит искать простую базу данных SQLite в качестве хранилища. Это просто один файл в вашей файловой системе. Не нужно настраивать сервер. Ознакомьтесь со следующей веткой для ознакомления: Java и SQLite Другая база данных, которую вы можете проверить, - это HSQLDB (ссылка внутри другого ответа в этой теме). Это ядро ​​реляционной базы данных, написанное на Java, также основанное на одном файле.

1 голос
/ 13 декабря 2010

Основываясь на моем предыдущем наивном опыте хранения данных в XML, я написал целую систему форумов на XML, основанную на парсере и модуле записи RSS.XML-файлы стали очень большими и, таким образом, вызывали частые тайм-ауты запросов в приложении.

Вместо этого можно использовать что-то вроде SQLite, где данные хранятся в файле, но более управляемы и допускают декларативные операторы, такие как SELECT * FROM table.

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