Встраивание mysql в настольное приложение java - PullRequest
11 голосов
/ 03 августа 2010

Мне не совсем понятны шаги / подробности конфигурации о том, как я могу встроить mysql в настольное приложение Java, чтобы его (приложение) можно было установить на любом компьютере через один исполняемый файл, и при этом настраивается база данных, а также предоставляетсяexe для запуска приложения. До сих пор я создал свое приложение, используя netbeans, и использовал mysql для настройки database.plz, чтобы вести меня дальше.

Ответы [ 5 ]

7 голосов
/ 03 августа 2010

MySQL не является встроенной базой данных - единственный связанный с ним JAR-драйвер - это JDBC-драйвер.Это требует процесса установки, который может быть в сценарии через Java, но этот процесс определенно будет функционировать вне приложения Java, которое вы намереваетесь поддерживать.Это означает, что вы можете отключить ваше Java-приложение, но служба / демон MySQL все еще будет работать.

Встраиваемо может быть только libmysqld .

Есть встроенные базы данных - SQLite, Firebird - и встроенные базы данных, сделанные на Java - HSQL, Derby / (не помню, как это называлось раньше).Я считаю, что SQL Server Compact Edition является встраиваемым, а SQL Server Express / MSDE - нет.Я не знаю, есть ли у Oracle встраиваемая версия ....

4 голосов
/ 03 августа 2010

Я настоятельно рекомендую H2 . Это очень быстрая встроенная база данных, написанная на Java, и я обнаружил, что ее проще использовать, чем некоторые другие, упомянутые, например, HSQL.

Edit:

На сайте H2 вы можете увидеть сравнение скорости H2 и Derby, HSQL, MySql и т. Д.

Вот информация о том, как сделать резервную копию базы данных .

1 голос
/ 03 августа 2010

Взгляните на http://dev.mysql.com/doc/refman/5.0/en/connector-mxj.html. Я не помню точных деталей, но мне удалось встроить MySQL db в настольное приложение без необходимости устанавливать его отдельно.

Ключевым классом является com.mysql.management.MysqldResource.

Вот пример, http://dev.mysql.com/doc/refman/5.0/en/connector-mxj-configuration-java-object.html

Файл mysql-connector-mxj-gpl-db-files.jar содержит установочные файлы MySQL для всех платформ. Если вы знаете, какая ваша целевая платформа, вы можете удалить другие версии платформы из jar, чтобы уменьшить размер загружаемого файла для конечного пользователя.

1 голос
/ 03 августа 2010

Хотя теоретически это возможно, это будет нелегко.Стандартные дистрибутивы MySql предполагают, что вы хотите настроить сервер базы данных общего назначения с отдельными клиентскими приложениями, связанными через odbc и т. Д.

Возможно, вам лучше рассмотреть варианты «чистого java», такие как HSQL или JavaDB, которыеразработан для встраивания в Java-приложение и не требует "настройки".

Другая возможность - это Sqlite, которому нужен только один двоичный файл плюс файл jar sqljbbc.Это опять-таки разработано с нуля, чтобы быть встроенным в приложение и требует нуля администратора, кроме выделения файла для базы данных.

0 голосов
/ 03 августа 2010

Если вы хотите встроенную базу данных с Java, то используйте написанную на Java, предназначенную для встраивания.Я знаю, что Apache Derby может быть встроен и, видимо, H2 тоже.

Какой объем данных вам необходим для обработки базы данных?

...