./gradlew runCommand -Pargs="generate-all org.bookstore.Book"
Grails generate-all
命令
目的
Grails 中 generate-all
命令的目的是为指定的域类自动创建控制器、关联视图和控制器单元测试。此命令简化了为域类生成 CRUD(创建/读取/更新/删除)界面的过程,从而节省了开发人员的时间和精力。
以下是 generate-all 命令的一些用法示例
-
为特定域类(如 org.bookstore.Book)生成 CRUD 人工制品
-
使用通配符 (*) 为所有域类生成 CRUD 人工制品
./gradlew runCommand -Pargs="generate-all *"
-
不指定域类(交互模式)生成 CRUD 人工制品
./gradlew runCommand -Pargs="generate-all"
说明
Grails 框架提供了一个称为静态脚手架的强大功能,该功能简化了为指定的域类生成一个完整的 CRUD 界面的过程。此界面包括一个负责处理 CRUD 操作的控制器和用于创建、读取、更新和删除记录的视图。但是,需要注意的是,一旦生成这些人工制品,它们就不会在对基础域类进行更改时自动更新。
generate-all
命令通过生成针对给定的域类定制的 CRUD 综合实现来提供解决方案。此实现包括
-
控制器:此控制器处理 HTTP 请求并管理与域类的交互。
-
关联视图:这些视图负责渲染 CRUD 操作的用户界面。
在执行命令时,你可以灵活地将域类名称作为参数提供。或者,如果你省略参数,该命令会交互式提示你输入你希望搭建脚手架的域类的名称。
例如,如果你的领域类是 org.bookstore.Book
,则执行 generate-all
命令将会生成以下文件
-
控制器:
grails-app/controllers/org/bookstore/BookController.groovy
-
关联视图:
grails-app/views/book
用法
./gradlew runCommand -Pargs="generate-all <<name>>"
参数
generate-all
命令接受以下参数
-
name
- 此参数指定你希望为其生成 CRUD 界面领域的类的名称。 它区分大小写。此外,你可以使用通配符 (*
) 作为参数,为 Grails 应用程序中所有领域的类生成控制器和视图。
标志
命令支持以下标志
-
force
- 此标志控制命令是否应覆盖现有文件。如果启用,现有文件将用新生成的文件替换。
其他示例
-
为
Author
领域类生成 CRUD 工件./gradlew runCommand -Pargs="generate-all org.bookstore.Author"
-
为所有领域类生成 CRUD 工件,同时覆盖现有文件
./gradlew runCommand -Pargs="generate-all * --force"
通过有效地使用 generate-all
命令,开发人员可以快速创建一个基础,通过 Grails 应用程序中的一个 Web 界面管理数据。