在java swing应用程序中自动数据绑定数据库和用户界面的最佳方法?

我目前需要使用数十个表和数千个字段创建用户前端应用程序到数据库。

它应该是java swing应用程序,我试图尽可能找到最自动化的解决方案。 理想情况下,完全避免手动创建DAO层,bean定义和GUI创建。

目前我们正在讨论将数据库转换为XML文档集的可能性,因此解决方案应该包括使用关系数据库和XML文档的能力。

任何想法/经验?

实际上有两个步骤:

第一是选择对象关系映射器(ORM)。 这可以是JPA提供程序,JDO提供程序或类似Hibernate的东西。 JPA是用于在Java对象和数据库之间进行映射的语言支持规范。 我也使用过Hibernate(Hibernate令人困惑,因为它既是一个独立的ORM又是一个JPA提供者),它对我来说效果很好。 您的ORM将描述您将Java对象的类/字段存储到哪些表/行,它还将提供事务和机制,以便在您的应用程序方便时保持Java对象的更改。

如果您正在考虑存储到XML,那么您可能希望将DataNucleus视为早期支持xml存储的JPA / JDO提供程序。

第二是选择你的绑定框架。 如果您使用的是Swing,那么随着trashgod的建议,NetBeans平台是一个很自然的选择。 NetBeans拥有一系列旨在简化应用程序开发的技术,包括绑定技术。 如果您使用NetBeans IDE,那么您将获得内置的GUI创建工具。我没有使用GUI创建工具的经验,所以我不能说它存在多少。

如果您正在为数据库执行一个直接的Swing富客户端,那么您不需要使用DAO。 DAO在客户端和服务器上都有代码的多层应用程序中很有用。 如果您在客户端上运行所有逻辑并且服务器只是一个数据库,那么您不需要DAO。

这是一个复杂的主题,可能会成为一个很好的社区Wiki 。 我只是触及了表面,但NetBeans在这方面具有不断发展的能力。 它应该在你的短名单上。 请参阅以下帮助主题和链接:

  1. 从实体类生成JPA控制器类
  2. 将数据绑定到Swing组件
  3. Java持久性任务:快速参考
  4. JPA和Bean绑定的最佳实践
  5. 在NetBeans 7中使用Java Persistence API for Java SE 7桌面应用程序