在没有服务器的情况下连接到 Intellij Ultimate 中的本地 MySQL 数据库?

Connect to a local MySQL database in Intellij Ultimate without a server?

我对数据库还很陌生。我必须创建一个与 MySQL 数据库交互的 java 程序。

我使用 MySQL Workbench 6.3 CE 创建了一个数据库。我单击了本地实例 MySQL57,登录并在示例 sakila、sys 和世界模式旁边添加了模式。

然后我在 Intellij 中创建了一个 java 项目,其中包含对 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 应用程序按原样连接到它。

我使用 View|Tool Windows|Database 在 Intellij 本地将数据库添加到项目中,然后添加 Data Source| MySQL 并完成向导以连接到它。我是否需要使用 Intellij 启动服务器,或者我需要做什么才能将此程序提供给某人,以便他们可以 运行 它并使用随附的数据库。

从本质上讲,我该怎么做才能让我的程序有一个数据库来存储信息,无论 IDE 或数据库服务器 运行 在其他人的机器上是什么,这些信息都可以正常工作?

您无需对 'make the database work' 的程序执行任何操作 - 您只需根据您的代码片段从您的应用程序连接到数据库。数据库是一个self-contained单元。使用 executeUpdate/executeQuery 命令后,您只需更改数据库中的 信息

IDE 确实与数据库无关 - 它只是提供一个方便的数据库接口来查看数据库信息并允许编辑信息/执行查询 - 与 workbench 确实如此。

如果您想与其他人共享您的数据库,您可以简单地使用 workbench 或 mysqldump 命令行实用程序中的导出数据库功能(在服务器菜单项下)并导出到 self-contained 文件。默认情况下,它将数据库和所述数据库中的可选信息导出到 sql 命令。只要那个人在他的环境中安装了 mysql 服务器和客户端,就可以将其导入到其他人的数据库中。