使用 Java 连接到 SQL 数据库服务器的桌面应用程序

Desktop Applications Using Java Connected with SQL database server

我被要求为一家在不同地点有许多分支机构的小公司开发桌面应用程序。根据我的经验,我必须部署一个将连接到数据库服务器的桌面应用程序。

系统要求

  1. 桌面应用不错UI。
  2. 处理所有公司数据的数据库。
  3. 登录面板 - 每个员工都有自己的 user/pass 来访问他有权访问的授权信息。
  4. 正在从数据库查询数据,在UI
  5. 上查看

我能做什么,我会用什么

我在寻找什么

这是我会做的:

  1. 将以敏捷方法实施应用程序。选择一个用例并实施它。例如,如果您希望用户登录。开始考虑要构建的组件来实现它,即开始考虑数据库中的用户 table,一个访问数据库的 DAO 层,创建一个服务层来管理业务逻辑和视图层来显示数据和接收用户输入。我建议分层架构,因为代码将易于管理和增强,并且将来如果您必须将其制作为 Web 应用程序,则不会花费太多时间。 最重要的是,在你的项目中实践 TDD 方法,你会没事的。 希望对您有所帮助。

您需要一个数据仓库供所有分支机构访问的服务器使用。无需管理和同步单独的数据库服务器。

你可以很容易地做到这一点,例如,启动一个(免费的)微型 Amazon EC2 实例开始,在上面安装你的 SQL 服务器软件,然后只需使用该服务器的 IP 地址做你的连接。

如果您与此服务器有很多连接并且这些分支之间要存储大量数据,那么您将需要开始为此服务器付费。如果您愿意,可以阅读更多关于 Amazon EC2 Pricing 的内容。

至于首先要做什么,显然是在开始存储数据之前为您的数据库表建立模式。之后,逻辑比GUI更重要。如果您不是用户界面人员,请将所有 GUI 内容移动到最后。最终用户真正关心的是功能而不是好的 UI。

我有一个小问题,您对Java和SQL都有经验,但以前从未使用过服务器?如果您使用 Java 连接到 SQL 服务器 ,则这些陈述相互矛盾。

您应该使用的技术是 Java 数据库连接 (JDBC),但正如@RomanC 在评论中提到的那样,您确实应该设置 REST API使用您熟悉的任何服务器端语言在服务器上创建您的数据库。这允许您更干净地 "sanitize" 数据输入,限制对数据库的直接访问,并允许在直接 SQL 语句之上进行更多可扩展的方法调用和功能。