【发布时间】:2012-11-08 08:43:28
【问题描述】:
我正在开发一个 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 服务,我应该从哪里开始?用于实现此类事情的常用库或框架有哪些?
非常感谢有耐心阅读所有内容的人。
【问题讨论】:
-
最好的办法是在与 DB 相同的本地网络上运行 REST 服务。
-
here 你会找到一些关于哪个最好的答案。
标签: java mysql database web-services client-server