Java 中是否有 CRUD 生成器实用程序,例如 Rails 中的脚手架?可以在任何框架甚至普通 servlet 中。必须在jsp中生成控制器+视图,而不仅仅是DAO代码...
22 回答
Spring Roo似乎正是您正在寻找的东西:CRUD 代码生成,吐出纯 Java 代码,可以使 tun 完全独立于框架运行。
Grails有脚手架。
请参阅http://www.telosys.org/上的 Telosys Tools Eclipse 插件
该插件连接到数据库,生成轻量级存储库,让您在必要时自定义存储库并生成 Java Beans、DAO、XML 转换器、ScreenMaps (JSP) 等...
您可以在几分钟内构建以数据为中心的 Web 应用程序
使用JHipster。它建立在流行的前端脚手架工具“yeoman”之上。它不仅使用 Spring Boot 和 Spring MVC 4 生成您的后端,包括控制器、dao、安全性、用户管理、系统和 API 指标、日志记录等,而且还使用 Angular js 生成您的前端。您还可以获得诸如 grunt、karma 和 bower 之类的好东西,它们已完全设置好并可以使用!除此之外,您还可以获得数据库版本控制!
它还具有用于生成域实体的子生成器,这些域实体生成您的 java 和用于管理其数据的相应前端。
运行一个完整的 web 应用程序需要 10 分钟。
JBoss Seam 有一个名为 seam-gen 的脚本实用程序,它将创建脚手架:
http://docs.jboss.org/seam/1.1BETA2/reference/en/html/gettingstarted.html
它非常强大,也许它对于所讨论的任务来说太强大了,但它做得很好。
我遇到了这个问题并尝试了许多建议的答案。最后,我找到了 Lightadmin。它不生成 CRUD 代码,但用很少的代码为实体类提供了一个很好的前端。要通过 Lightadmin Web 界面使User
实体可用,它只需要在 XML 文件中进行两次更改,然后是一个UserAdministration
类:
public class UserAdministration extends AdministrationConfiguration<User> {
/* empty */
}
您可以在此类中配置字段名称(可能还有更多)Administration
,但我发现它已经非常有用,无需任何进一步的配置。入门指南确实显示了它是多么容易。完成这些简单的步骤后,您就可以打开管理界面了http://localhost:8080/TestApp/admin
。
Netbeans 有这样的东西。
这里有一个演示:http: //www.netbeans.org/kb/55/persistence-demo.html
Google Code 上有krank。我还没有尝试过,但它看起来很有希望。
看看以下工具:
MetaWidget http://www.metawidget.org/
ISIS http://incubator.apache.org/isis/index.html(以前是 Naked Objects)
它们会“即时”生成 UI,但允许您在必要时自定义 UI。
比代码生成好得多。
并尝试它的演示。
关于技术
如果您只寻找 ORM + DAO,请尝试跟踪 BSLA-JPA2(BSLA 表示基本 Spring 层架构)。它促进了掩码模式以简化搜索。
如果您想要面向活动记录的持久性,请查看JOOQ或 Roo
如果您想要 servlet,请查看minuteproject 4 Openxava或4 Primefaces
如果您想要 portlet,请查看Liferay 服务构建器minuteproject 将从您的数据库生成service.xml输入。
关于你的模型
如果您希望您的代码(java)遵循 java 约定而不是 DB 约定,请使用 minuteproject。它有浓缩设施,允许:
这种扩充可以在字段/实体/包中单独应用,也可以通过约定全局应用(因此您可以配置自己的约定)。
自从提出这个问题以来,已经出现了几个 Java 框架。查看 Spring Roo 和Play Framework。还有Skyway Builder,我认为它早于两者。
看看泰纳摩
NetBeans 可以为 JSF 中的现有数据库生成 CRUD。
OpenXava http://openxava.org怎么样?
在http://www.grails.org/上试用 Grails
请参阅 Jspresso - http://www.jspresso.org/
它具有多个前端(Flex、纯 HTML/Javascript、Swing 等),但在视图部分并没有给您太多自由。不过值得检查。
不要忘记玩。非常容易使用。一旦你有 ruby on rails 的经验,你也很容易适应 Java。
试试generjee
它生成 CRUD 并使用 JPA、EJB、使用 primefaces 的 JSF 框架等规范为您提供后端和前端、Java 安全、身份验证、审计、excel 和 pdf 导出、用户管理、用户注册。
之后,您可以下载源代码或部署到 heroku。我已经测试过了,它给了我预期的结果
如果您有一个示例项目,其中包含您想要的那种 CRUD(或其他)架构,那么Simple Scaffolding可能是一种有用的方法。
它是一个单一的类,可以扫描您现有的代码库并创建模板,然后您可以将其应用于其他实体。例如,MongoUserDao
可以将其转换为模板,然后生成MongoCustomerDao
. 它适用于任何代码和测试装置。
非常基本,但可以完成工作,并且它是 MIT 许可下的 FOSS。
GitHub 存储库在这里:https ://github.com/gary-rowe/SimpleScaffolding