第一个JDL
JDL是JHipster特定的领域语言,您可以在一个文件(或多个文件)中,使用简单易用的语法描述所有应用程序、部署、实体及其关系。 BegCode(JHipster)会解析JDL内容,并生成相应的代码。 VSCode、Eclipse、IntelliJ都已经有相应的支持插件。 这是Idea插件的效果:
一个典型的jdl文件内容一般由以下几部分组成:
md
application:应用配置
entity: 实体配置
field: 实体忏悔配置
enums: 枚举配置
relationship: 关系配置
(option): 选项配置
deployment: 部署配置
(constants): 常量配置
示例:
md
application {
config {
baseName cmsApp
}
entities Article, Category
dto \* with mapstruct
}
/** 文章 \*/
@entityPackage(cms)
entity Article {
title String /** 标题 \*/
}
/** 分类 \*/
@entityPackage(cms)
entity Category {
name String /** 名称 \*/
}
relationship ManyToOne {
/\*_ 分类 _/
Article{category(name)}
to
Category
}
paginate _ with pagination
service _ with serviceClass
filter \*
clientRootFolder Article, Category with cms
一、简要说明
1.1 application 节
表示定义了一个名称为cmsApp的应用系统。
包含Article和Category两个实体。并使用dto对实体进行转换
1.2 entity 节
声明2个实体,Article和Category,同时都包含自已的属性(字段)。
1.3 relationship 节
声明Article和Category是多对一的关系。
1.4 选项说明
paginate行 表示查询列表时使用分页功能
service行,表示直接生成service类,不使用接口方式。
filter行,表示所有的实体都生成Criteria条件封装类,用于查询。
clientRootFolder行,表示前端将Article和Category生成的文件放到cms目录中。
entityPackage行,表示2个实体生成的java文件都放到cms包下。
二、 导入jdl文件
将上述文件命名为cms.jdl文件。接下来进行导入(即生成代码)。
2.1 命令格式
md
begcode jdl ./cms.jdl
三、 冲突提示
在生成代码的过程中,除新创建的以外,可能有些文件内容会被更新,这时BegCode(JHipster)会提示冲突,由你来选项哪种处理方式。
3.1 冲突截图
你可以使用d
来查看修改的内容,使用y
进行覆盖,使用n
放弃对文件内容修改,使用i
放弃文件修改并以后也使用这个选项。当然还有其他的选项供选择。
四、 工作完成
以下内容表示生成工作结束。