Подтвердить что ты не робот

Java, MySQL: Есть ли способ встраивать сервер MySQL с программой Java?

Одна вещь, которая мне нравится в .NET, - это возможность иметь файл базы данных вместе с проектом. Я знаю, что с помощью базы данных SQLite это можно сделать, но кто-то достиг этого с помощью базы данных базы данных MySQL?

Так, например, если я запускаю java-программу, он должен иметь возможность запускать собственный мини-сервер MySQL и управлять данными. По сути, я хочу, чтобы те же потоки, что и с SQLite, но мне нужна мощь MySQL.

4b9b3361

Ответ 1

Быстрый поиск показывает это: MySQL Connector/MXJ - для встраивания сервера MySQL в приложения Java на странице загрузки MySQL по адресу:

http://dev.mysql.com/downloads/

Ответ 2

Если вы не возражаете против использования MariaDB (вариант MySQL с открытым исходным кодом, в основном работает так же) MariaDB4j может быть идеальным вариантом для продакшен среды.

MariaDB4j является Java (!) "Пусковой" для MariaDB ("отсталый" совместимая замена сервера базы данных MySQL (R) ", см. FAQ и Wikipedia), позволяющие использовать MariaDB (MySQL (R)) из Java без ЛЮБОЙ установки/внешних зависимостей. Прочитайте еще раз: вы делаете НЕ ДОЛЖНЫ быть установлены двоичные файлы MariaDB в вашей системе для использования MariaDB4j!

Поскольку он работает полностью без каких-либо требований, предъявляемых к ПК пользователя, вероятно, это лучший вариант для внедрения MySQL. Преобразовать проект, который не использует встроенную базу данных, в MariaDB4j так же просто, как позвонить:

DB db = DB.newEmbeddedDB(3306);

Прочтите страницу github для получения дополнительной информации. Центральная зависимость Maven:

<dependency>
    <groupId>ch.vorburger.mariaDB4j</groupId>
    <artifactId>mariaDB4j</artifactId>
    <version>2.2.3</version>
</dependency>

Вы можете объединить это с новейшим драйвером, чтобы получить доступ ко всем функциям MySQL 8.0 (win64/win32 = windows, mac64 = macos, linux64 = linux):

<dependency>
  <groupId>org.craftercms.mariaDB4j</groupId>
  <artifactId>mariaDB4j-db-win64</artifactId>
  <version>10.4.6.2</version>
</dependency>

Если вы не возражаете против использования MariaDB, другой вариант - Wix Embedded MySQL.

Wix Embedded MySQL - это библиотека, которая позволяет запускать настоящий MySql в интеграционных тестах.

Why?

  • Ваши тесты могут выполняться в производственной среде: соответствие версии, кодировки, часового пояса, базы данных/схемы/пользовательских настроек;
  • Это легко, намного проще, чем установка нужной версии вручную;
  • Вы можете использовать разные версии/конфигурации для каждого проекта без какой-либо локальной настройки;
  • Поддерживает несколько платформ: Windows, Linux и OSX;
  • Предоставляет постоянно обновляемые несколько версий MySql - 5.5, 5.6,   5.7;
  • Матрица тестирования для всех поддерживаемых ОС (x86/x64) и версий (5.5,   5,6, 5,7).

Ответ 3

В будущем для любого, кто хочет внедрить mysql, есть утилита от ребята mysql, которая делает это http://downloads.mysql.com/archives/c-mxj/

Ответ 4

Похоже, вы хотите встроенную базу данных. Хотя MySQL Connector кажется приятным, он запустит отдельный серверный процесс. Если вы хотите, чтобы сервер базы данных запускался на виртуальной машине Java, для Java существует несколько встроенных баз данных.

Два из них, которые я видел, использовали больше всего: