Java 基于现有数据库或hibernate配置在Spring中生成简单的crud应用程序?

Java 基于现有数据库或hibernate配置在Spring中生成简单的crud应用程序?,java,hibernate,spring,crud,Java,Hibernate,Spring,Crud,我正试图学习SpringMVC,但被Grails搞砸了。虽然我能够让一个基本的web应用程序工作,但我想知道是否有任何工具可以在给定数据库或hibernate数据模型的情况下创建crud应用程序?到目前为止,我唯一发现的一个问题是,我不确定如何将生成的代码转换为使用maven或ant进行构建过程。我从未尝试过,但它似乎允许您通过maven进行此操作。有一个mvn-appfuse:gen-model命令用于对数据库进行反向工程,还有一个mvn-appfuse:gen命令用于创建脚手架的其余部分 我

我正试图学习SpringMVC,但被Grails搞砸了。虽然我能够让一个基本的web应用程序工作,但我想知道是否有任何工具可以在给定数据库或hibernate数据模型的情况下创建crud应用程序?到目前为止,我唯一发现的一个问题是,我不确定如何将生成的代码转换为使用maven或ant进行构建过程。

我从未尝试过,但它似乎允许您通过maven进行此操作。有一个
mvn-appfuse:gen-model
命令用于对数据库进行反向工程,还有一个
mvn-appfuse:gen
命令用于创建脚手架的其余部分

我认为您必须在使用Appfuse Maven原型之一创建的项目中运行这些。您可以找到快速入门指南来设置它


也有一些很好的脚手架,但它还没有从您正在寻找的数据库中进行反向工程。您的持久性对象需要被注释为@RooEntity对象,然后才能利用该框架的脚手架。

我也进行了同样的搜索。最后看了一下JBossSeam。Seam似乎有一个数据库模式导入,并生成必要的后端和前端代码。 Spring Roo Seam与JBoss Seam非常相似,只是Seam更长、更成熟。

试试看,对于基于Spring/JPA的应用程序来说,这是一个不错的选择。它有一个用于接口配置的内置Java DSL,您只需下载jar或声明Maven依赖项,通过web.xml(指向包含JPA实体的包)启用域管理,并为实体创建@administration配置类

因此,对于CRUD、过滤等,您将拥有一个干净、简单的UI

以下是一个配置示例:

@Administration( Customer.class )
public class CustomerAdministration {

  public static EntityMetadata configuration(EntityMetadataBuilder configurationBuilder ) {
    return configurationBuilder.nameField( "firstname" ).build();
  }

  public static ScreenContext screenContext( ScreenContextBuilder screenContextBuilder ) {
    return screenContextBuilder
           .screenName( "Customers Administration" )
           .menuName( "Customers" ).build();
  }

  public static FieldSet listView( final FieldSetBuilder fragmentBuilder ) {
    return fragmentBuilder
           .field( "firstname" ).caption( "First Name" )
           .field( "lastname" ).caption( "Last Name" ).build();
  }

如果你想通过逆向工程学习SpringMVC,有一个微小的项目跟踪

It“智能”反向工程您的db模式,提供

  • JPA2
  • AO w/spring集成
  • springmvc与REST集成

智能逆向工程意味着您的Java实体不必遵循DB约定(例如,表T_用户可以给Java用户类…)

只需遵循本教程:

它将生成一个完整的Web应用程序 基于Spring MVC/Spring Data/JPA,Telosys完成以下工作:

如果您有一个数据库,它将使用它作为模型来生成代码(JPA实体等)

标准模板捆绑包可用于生成具有CRUD屏幕的完全可操作的web应用程序

您可以查看项目,了解如何使用生成:

  • CRUD Rest API
  • API的文档
  • AngularJS积垢管理界面
  • 如果您使用Hibernate Envers审计实体,则用于检索审计信息的Rest API和相关单元测试
您只需要提供包含JPA实体的数据模型

提供了许多基于Spring PetClinic数据模型的样本。

请查看。这里有一个指向模板web应用程序的链接

Celerio是数据驱动应用程序的代码生成器工具。它可以反转数据库模式并生成基于CRUD的高级应用程序

以下内容向您展示了您的期望


我无法让generate命令在appfuse中工作,但我已经研究了springroo。我决定使用SpringRoo,我的数据库非常简单,可以手动创建所有必要的实体。我真的很喜欢SpringRoo,虽然我不知道我是否会将其用于生产应用程序,因为它似乎仍然缺乏良好的文档,但我认为这将在1.0版本中得到修复。数据库反向工程也被列为一项高优先级的功能要求。该网站说,SpringFuse不再运行,但…为SpringFuse供电的代码生成器现在是开源的。我将把这个留在这里,以防有人对开源CRUD生成器感兴趣:这个项目看起来很有希望,但它是否得到支持?GitHub上的最新提交是两年前。它似乎死的比活的多。