JDL 是jHipster专用的生成实体的语言。(大部分翻译自JDL )
在jHipster的项目,生成实体需要的文件:
• a database table;-表中对应的表
• a Liquibase change set;-Liquibase 的changelog,在src\main\resources\config\liquibase\changelog目录下的文件
• a JPA entity class;-JPA实体类 src\main\java\com\binana\amas\domain目录下(应该是,错了请评论)
• a Spring Data JpaRepository interface;- src\main\java\com\binana\amas\repository 目录下
• a Spring MVC RestController class;
• an AngularJS router, controller and service; -src\main\webapp\app\entities\ 目录下
• a HTML page.-HTML文件
导入.jh文件命令:
yo jhipster:import-jdl my_file1.jh my_file2.jh
jhipster-uml my_file1.jh my_file2.jh
*导入多个文件用空格隔开,需要把对应文件放在项目的根目录,不然会报错,说在根目录找不到对应jh文件。
JDL实体示例:
entity <entity name> {
<field name> <type> [<validation>*]
}
- <entity name> 实体名称
- <field name> 字段名,建议使用驼峰命名,使用下划线后面会出现问题
- <type> 字段类型(需要jHipster支持的类型)
- <validation> 字段的验证(是否为空,长度限制,正则等)
例子:
entity A
entity B
entity C {}
entity D {
name String required,
address String required maxlength(100),
age Integer required min(18)
}
说明:A ,B,C实体不包含任何字段,对于空实体这两种定义方式都可以。
D实体包含:
名称为name,类型为string,不为空的字段。
名称为address,类型为string,不为空的字段且字符串最大长度为100的字段。
名称为age,类型为integer,不为空的字段且最小值为18的字段。
*如果需要验证,那么就在验证括号内加内容。
* required: 是否为空
minlength(10):字符串的最小长度
maxlength(100):字符串的最大长度
pattern(*?[a-z]):正则
min(10):数值的最小值
max(100):数值的最大值
minbytes(512):BLOB的最小字节
maxbytes(1024): BLOB的最大字节
*JHipster会自动添加ID字段。
String | String | String | required, minlength, maxlength, pattern |
Integer | Integer | Integer | required, min, max |
Long | Long | Long | required, min, max |
BigDecimal | BigDecimal | BigDecimal | required, min, max |
Float | Float | Float | required, min, max |
Double | Double | Double | required, min, max |
Enum | Enum | required | |
Boolean | Boolean | Boolean | required |
LocalDate | LocalDate | required | |
Date | required | ||
ZonedDateTime | ZonedDateTime | required | |
UUID | required | ||
Blob | Blob | required, minbytes, maxbytes | |
AnyBlob | AnyBlob | required, minbytes, maxbytes | |
ImageBlob | ImageBlob | required, minbytes, maxbytes | |
TextBlob | TextBlob | required, minbytes, maxbytes |
relationship (OneToMany | ManyToOne | OneToOne | ManyToMany) {
<from entity>[{<relationship name>}] to <to entity>[{<relationship name>}]
}
· (OneToMany | ManyToOne| OneToOne | ManyToMany)
关系类型
· <from entity>
关系拥有者的实体名
· <to entity>
目标关系的实体名
· <relationship name>
关联另一方的那个字段
*同时可以在一个关系类型里面添加多个关系
entity A
entity B
entity C
entity D
relationship OneToOne {
A{b} to B{a},
B{c} to C
}
relationship ManyToMany {
A{d} to D{a},
C{d} to D{c}
}
*默认会关联ID字段。如果需要关联其他字段,那么在实体后的括号内加,如下:
entity A {
name String required
}
entity B
relationship OneToOne {
A{b} to B{a(name)}
}
枚举类型定义如下:
enum Language {
FRENCH, ENGLISH, SPANISH
}
在另外一个实体中引用如下:
entity Book {
title String required,
description String,
language Language
}
BLOB(byte[]):
可以存放图片或者其他二进制类型的文件。
- AnyBlob 或者就叫Blob 存放二进制文件的字段;
- ImageBlob 意味着存放图片的字段.
- TextBlob 存放长文本的字段.
各种关系的前台和数据库的体现如下:
例子:
relationship ManyToMany {
Job{task(title)} to Task{job}
}
意思是:用Task实体的title做关联外键。
JOB前台表示如下,显示的是task的title.实体中查看详细可以直接连接到对应的Task:
JOB数据库表现如下,并没有task_title:
其他可选的操作:
entity A {
name String required
}
entity B {}
entity C {}
dto A, B with mapstruct
paginate A, C with infinite-scroll
paginate B with pager
service A with serviceClass
service C with serviceImpl
目前我只知道分页的方式其他不懂。
分页的表现如下:
分页方式:
1.NO:对应如下,有多少数据就显示多少:
2. Simple pager:
Pagination links:
infinite-scroll:
类似淘宝商品那样,触发到底部就加载接下来的数据。
相关推荐
**JHipster与JDL-Studio离线版详解** JHipster是一款强大的全栈开发工具,它基于Spring Boot和Angular(或React),旨在快速构建高效、可扩展的微服务架构和前端应用。JHipster提供了代码生成器,可以自动生成包括...
JHipster JDL (Java Hipster Domain Language) 是一种强大的工具,用于定义和管理JHipster应用程序的领域模型。它是JHipster项目的核心部分,允许开发者以声明式的方式定义实体、关系、微服务和其他配置。在...
将SQL数据库转换为jHipster的JDL格式的工具(由于要使用jHipster生成现有数据库并构建angular-java web而创建) 兼容性 此实现适用于mysql 5.7+和mysql 8+。 只需要很少的更改就可以与oracle db,POSTGRES等一起...
JHipster的样本JDL文件该存储库展示了从JDL Studio生成的JDL模式文件。 如果您想添加一个特定的问题,请添加您自己的问题或创建一个问题。 运行jhipster jdl myfile.jdl filename.jdl只要传递此jhipster jdl myfile....
受到大力启发和改编这些很棒的项目使JDL-Studio成为可能Docker镜像官方Docker映像位于 您可以通过以下方式离线使用JDL-Studio: docker run --rm -it -p 18080:80 jhipster/jdl-studioJDL-Studio应该在以下位置可用...
欢迎使用JHipster及其项目通用的官方仓库,例如JDL(JHipster域语言)。 提交问题之前,请阅读我们的。 如果您的问题是错误,请使用预先填充的错误模板。 对于功能请求和查询,可以使用。 贡献给JHipster-Core ...
JDL-1988RGB-16*16-HUB41制版说明: 1.FR-4,TOP层绿油白字,BOT层绿油白字,喷锡。 2.所有的过孔必须阻焊处理。 3.参数:最小间距: 0.254mm 最小孔径: 0.5mm 最小线径: 0.3mm 板 层: 双面板 板 厚: 1.6mm ...
仿真空时自适应处理STAP里的算法合集程序:Capon谱、降维算法3dt、JDL等
JDL 是一种强大的建模语言,主要用于定义应用程序的数据模型、业务逻辑和关系,尤其在开发基于 JHipster 的项目时非常有用。JHipster 是一个开源的 Yeoman 生成器,用于快速构建高质量的微服务架构应用。 **JDL ...
JDL公司从筹划到实施ERP系统,经过了总体规划分布实施、专项机构、教育与培训、原型测试、数据准备、模拟运行、切换七个步骤。项目包含财务、分销、生产、人力资源、决策支持、质量管理等内。每一部分中又包含很多...
该设置已合并到一个,您现在可以使用以下命令来重现生成(减去自定义): mkdir jhipster-monolith-dinosaurscd jhipster-monolith-dinosaursjhipster import-jdl jhipster-monolith-dinosaurs.jdl部署已针对该版本...
欢迎使用JHipster UML! 请注意,该项目已弃用,不应再使用。 相反,我们建议您使用此项目的JDL导出功能将XMI文件导出到可以使用的JDL文件,并使用JDL Studio建立实体模型。 要了解有关JDL的更多信息,请。 提交...
具有JDL编辑器和Shell集成的JHipster IDE,可以直接从IDE调用JHipster生成器,以及现代IDE编辑器所期望的一切(语法着色,验证,格式化,重构,查找引用等)。 Xdocker-在JHipster IDE中管理Docker映像和容器。 ...
迁移帐户模块迁移管理模块不正确地支持i18n 支持no-sass选项添加实体子生成器添加import-jdl子生成器迁移量角器测试添加发电机测试添加生成器travis构建首先,安装和 ,然后使用安装generator-jhipster-react(我们...
Verilog HDL 实现 JDL12864A 图形液晶显示接口
iPF8310S_V0104.jdl
点燃JHipster 适用于应用程序的React Native样板,包括身份验证,实体生成器,JDL支持,端到端测试等。 查看或的。文件JHipster集成React本机集成-开发UI组件自动构建和发布您的移动应用移动应用程序的端到端测试和...
吴忠仪表-JDL微机型电动执行机构产品手册pdf,吴忠仪表-JDL微机型电动执行机构产品手册
标题“linux-jdl.7z”暗示我们正在处理一个压缩文件,其中可能包含了与Linux操作系统相关的软件开发工具,特别是Java Development Kit (JDK)。描述中的“Linux-jdk-1.8u191-x64.tar.gz”进一步证实了这一点,表明这...
计算机科学反思录-JDL联合试验室.pdf 本篇文章讨论了计算机科学的反思录,作者通过自己的学习和思考,探讨了计算机科学的本质、计算机科学与技术的关系、数学在计算机科学中的作用等问题。 首先,作者认为计算机...