我正在开发一个 Swing GUI 应用程序,除其他外,该应用程序用作读取和写入 MySQL 数据库的数据库客户端。目前我使用 JDBC 实现了与数据库的交互(如下所示:http ://www.kitebird.com/articles/jdbc.html ),它通过指定显式数据库主机名(IP 地址)直接连接到数据库。
只要我在作为组织本地网络一部分的 PC 上运行 GUI 客户端应用程序,它就可以正常工作,因此我可以通过指定部署它的机器的 IP 地址来访问 MySQL 数据库。
但是我想知道如果 GUI 客户端应用程序要在组织网络之外的计算机上运行(通过 Internet 通信),那么实现与数据库交互的正确方法是什么?
我能想到的两种方法是:
将数据库服务器机器配置为在 Internet 上的 MySQL 的默认端口 (3306) 上可用,然后我将能够通过指定数据库服务器的 IP 地址继续从 GUI 客户端应用程序连接到数据库。
创建一个 Web 服务(可能基于 REST API),它将在数据库服务器机器上运行,并充当 GUI 客户端和 MySQL 数据库之间的中间人。
我怀疑正确的方法是第二种选择,使用网络服务,但我没有任何实施经验。
所以我的底线问题是:
通过 Internet 与数据库进行通信的正确方法是什么,如果涉及使用 Web 服务,我应该从哪里开始?用于实现此类事情的常用库或框架有哪些?
非常感谢有耐心阅读所有这些的人。