如何让其他人使用依赖数据库的桌面应用程序?

How to allow other people to use desktop application that relies on database?

所以我使用 Swing 创建了一个 java 桌面应用程序。它将输入到应用程序中的数据存储在 MySQL 数据库(本地主机)中。现在其他人将如何使用该应用程序?他们是否也需要 MySQL 数据库?这样做的最佳做法是什么。我最终希望将整个项目文件夹提交到 github。

首先,你应该用public ip安装mysql,然后用ip改变连接到mysql,例子如下

String url = "jdbc:mysql://ip:3306/db";
Connection conn = DriverManager.getConnection(url, user, password);

如果你想运行 java像exe文件一样的程序,用jre

将java程序打包成一个jar文件

我想我必须先问这个程序是演示还是课堂项目,还是真正的应用程序,因为答案会有所不同。

对于演示项目,可以将您的代码 post 到 github,并将数据库转储到 .sql 文件并提交。 MySQL 附带一个名为 mysqldump 的便捷工具,它可以做到这一点 - 导出数据库的全部内容。然后一个人可以克隆您的 github 存储库,在本地安装 MySQL,然后 运行 您的 sql 脚本来获取数据库的副本。一旦他们按照这些步骤操作,他们应该能够像您一样在他们的机器上 运行 复制您的 swing 应用程序。不过这里有一个警告是,最好避免将非常大的文件(尤其是二进制文件)放入 git。我不确定你需要什么,但如果你能放一个小 sql 文件,那绝对是首选。

这是另一个答案的转折点,该答案在某处托管您的 MySQL 数据库。对于真正的应用程序,制作副本是行不通的。然后您需要做的是使用 this one 之类的服务集中托管您的数据库,并允许您的用户连接到它。在本地主机上创建数据库后,您仍然可以使用 mysqldump 将数据库发布到 Web 上。如果你走这条路,你肯定会希望避免将你的数据库连接字符串放在 github 上。同样,这种情况实际上仅在您的应用程序旨在用于真实用途时才有用 - 如果您不需要它,请不要为托管而烦恼。

希望对您有所帮助!