Java独立客户端应用程序

时间:2012-08-08 18:15:07

标签: java database desktop

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

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

6 个答案:

答案 0 :(得分:1)

Java程序永远不能转换为.exe。输出通常是jar文件 只要您在系统上有OS,就可以在任何JDK上运行。

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

答案 1 :(得分:1)

补充Byter的回答:

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

对于数据库访问,只需使用java内置的JDBC和mysqls jdbc驱动程序。

答案 2 :(得分:1)

您要求使用框架和工具:

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

如果您不熟悉Java或面向对象编程,请阅读Effective Java(通常用于Java)和Martin Fowlers对几个presentation patterns的描述 - 这里我最喜欢passive view

学习真的很多,但如果你想“正确”地做,那么我认为没有办法解决它。

答案 3 :(得分:1)

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

您可以在没有UI的情况下使数据库块工作。我建议你先做。开发它,测试它的鼻涕,并把它放在一边。

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

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

答案 4 :(得分: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。我建议在JDeveloper IDE中使用带有EclipseLink的JPA,这是一个如何做到这一点的教程:http://st-curriculum.oracle.com/obe/jdev/obe11jdev/ps1/ejb/ejb.html

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

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

答案 5 :(得分:0)

询问“Java中是否有一个可以帮助一个简单数据库接口的框架”将为您提供大量答案。最简单的响应是“Look at JDBC”,几乎所有其他框架都会利用它来与数据库进行通信。

我不确定我会推荐一个同时执行数据库连接和GUI内容的框架。让他们脱钩。就像上面的Byter一样,我发现Swing效果很好。

如果您要求的是报告功能,我会一直听到Jasper报告。