1

我只是一名 Java 开发人员,现在我需要构建一个需要与数据库交互的独立应用程序(不是 Web 应用程序,而是需要在桌面上运行的客户端应用程序)。有人可以指出哪种技术/框架最适合帮助我实现这一目标吗?

Java 中是否有一个框架可以帮助您与简单的数据库(例如 MySQL)进行交互,并帮助您创建非常好的 GUI,然后可以将其转换为 Windows .exe 可执行文件?

4

6 回答 6

1

程序Java永远不能转换为.exe. 输出通常是一个文件,只要你在系统上jar,它就可以在任何设备上运行。OSJDK

您可以Swing在 JAVA 中使用来创建良好的 GUI,并且可以使用MySql libraryJAVA 轻松连接到 MySQL。

于 2012-08-08T18:22:12.337 回答
1

补充字节的回答:

您将使用两个库/框架。一个用于 GUI,另一个用于数据库访问。作为 GUI 的一个选项,还有 SWT。

对于数据库访问,可以简单地使用 java 内置的 JDBC 和 mysqls jdbc 驱动程序。

于 2012-08-08T18:25:08.423 回答
1

您要求提供框架和工具:

  • 首先我会使用Swing,因为它是标准并且在所有开箱即用的平台中都得到了很好的支持
  • 目前我想我会选择Better Swing Application Framework (BSAF)。它重量轻,可扩展性很好
  • 为了设计 UI,我建议使用 Eclipse 和Window Builder插件。它在双向编辑方面做得不错(意味着您的代码中没有被阻塞的区域,它还能够解释现有的 GUI)
  • 另一种方法是手动绘制您的 UI,并使用JGoodies FormsMigLayout等自定义布局管理器来实现它
  • 为了访问数据库,我还推荐一个 ORM 映射器,如EclipseLink(从未使用过它)或Hibernate(非常喜欢它)。
  • 我总是会通过添加服务层在 UI 和数据库之间绘制一个分离层。为什么?它大大提高了可维护性!这可以通过Spring Framework很好地完成,它可以与您的 ORM 映射器和客户端计算机上的所有内容一起运行,或者使用Enterprise Java Beans,如果您计划使用客户端将连接到的应用程序服务器。
  • 为了交付您的应用程序,您可以使用一个常见的安装程序工具,如Nullsoft 安装程序,其中包含一个 JRE,然后使用另一个工具(如Launch4J )包装应用程序(尽管我从未尝试过这个)。

如果您不熟悉 Java 或一般的面向对象编程,请阅读Effective Java(通常用于 Java)和 Martin Fowlers 对几种表示模式的描述——这里我最喜欢被动视图

确实有很多东西要学,但是如果您想“正确”地做到这一点,那么我认为没有办法。

于 2012-08-08T18:42:57.713 回答
1

我建议您正确分层应用程序并分阶段进行操作。

您可以在没有 UI 的情况下使数据库部分正常工作。我建议你先这样做。开发它,测试它的鼻涕,然后把它放在一边。

您将需要 UI 和数据库之间的服务层。它将管理请求、验证、安全、事务等。开发它,测试它的鼻涕,然后把它放在一边。

只有当其余部分都到位时,您才能继续使用 UI。

于 2012-08-08T18:44:14.357 回答
0

如果您对 Java 非常陌生,我建议您使用易于使用的 IDE 开始。我会选择 JDeveloper 是官方的 oracle IDE,它几乎拥有开发桌面或 Web 应用程序所需的一切,即使是使用可视化设计器也是如此。它是免费的,我认为它需要您注册到 oracle 站点,但这是值得的。

这是一个关于如何使用 JDeveloper 和 swing 构建小型可视化 Java 应用程序的教程:http: //docs.oracle.com/cd/E18941_01/tutorials/jdtut_11r2_2/jdtut_11r2_2.html

至于数据库技术,最好是使用 ORM。我推荐 JPA with EclipseLink,它已经包含在 JDeveloper IDE 中,这里有一个关于如何做到这一点的教程:http: //st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/ejb/ejb.html

但是如果你不想进入 ORM 学习(你真的应该最终),那么只需使用普通的 JDBC(网上有很多关于如何做到这一点的教程)

JDeveloper 的替代品是 Netbeans,它也是一个官方的 oracle 工具,因为它更轻巧。

于 2012-08-08T18:25:54.490 回答
0

询问“Java 中是否有一个框架可以帮助一个接口与一个简单的数据库进行交互”,你会得到很多答案。最简单的响应是“查看 JDBC”,几乎所有其他框架都将利用它与数据库进行通信。

我不确定我是否会推荐一个同时执行数据库连接和 GUI 内容的框架。保持它们解耦。和上面的 Byter 一样,我发现 Swing 运行良好。

如果您要问的是报告功能,我一直在听说 Jasper 报告。

于 2012-08-08T18:28:12.220 回答