Подключиться к локальной базе данных MySQL в Intellij Ultimate без сервера?

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

Я создал базу данных, используя MySQL Workbench 6.3 CE. Я нажал на локальный экземпляр MySQL57, вошел в систему и добавил схему вместе с примерами схем sakila, sys и world.

Затем я создал Java-проект в Intellij, который включает в себя ссылку на Connector / J Jar (mysql-connector-java-5.1.38-bin.jar). Затем я использую следующий код Java для подключения к базе данных:

  try {
        String userName = "root";
        String password = "password";
        String url = "jdbc:mysql://localhost/mydatabase";
        connection = DriverManager.getConnection(url, userName, password);
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        System.out.println("Connected to Database");
 } catch (Exception e){
     e.printStackTrace();
 }

Это работает, и я могу использовать connection.executeUpdate() а также connection.executeQuery() функции по мере необходимости для выполнения команд SQL.

Я хочу иметь возможность экспортировать мою схему базы данных и состояние, чтобы кто-то мог импортировать нашу базу данных, а затем использовать наше приложение Java для подключения к ней как есть.

Я добавил базу данных в проект локально в Intellij, используя View|Tool Windows|Database а затем добавил Data Source| MySQLи завершение мастера для подключения к нему. Нужно ли запускать сервер с Intellij или что мне нужно сделать, чтобы я мог передать эту программу кому-нибудь, чтобы он мог запустить ее и использовать сопутствующую базу данных.

По сути, как мне сделать так, чтобы в моей программе была база данных для хранения информации, которая будет работать независимо от того, какой IDE или сервер базы данных запущен на каком-либо другом компьютере?

1 ответ

Решение

Вам не нужно ничего делать с программой, чтобы "заставить базу данных работать" - вы просто подключаетесь к базе данных из своего приложения согласно фрагменту кода. База данных является автономной единицей. Как только вы используете executeUpdate/executeQuery Команды, вы просто измените информацию в базе данных.

IDE действительно не имеет ничего общего с базой данных - она ​​просто предоставляет удобный интерфейс к базе данных для просмотра информации базы данных и позволяет редактировать информацию / выполнять запросы - во многом так же, как это делает верстак.

Если вы хотите поделиться своей базой данных с другими людьми, вы можете просто использовать функцию экспорта базы данных (в пункте меню "Сервер") в рабочей среде или mysqldump утилита командной строки и экспорт в автономный файл. По умолчанию он экспортирует базу данных и необязательную информацию в указанной базе данных в команды sql. Затем его можно импортировать в базу данных другого человека, если в этом окружении установлен сервер mysql и клиент.

Другие вопросы по тегам