Expanse 培训:Day3:代码生成工具生成代码
代码生成工具生成代码
本框架配套的代码自动生成工具、根据编写好的类代码元数据,可生成前端、后端、数据库可以直接运行的代码。
- 支持单实体、主子实体、树型实体结构。
- 支持页面模板扩展
- 数据库表生成表结构;字典下拉类别、导航、导航关联权限脚本。
- 后端生成 entities、repositories、services、、servicesimpl、controllers 代码 。
- 前端生成列表及编辑页面,编辑页面支持弹出或导航方式访问。
- 此工具作为 IDEA 插件方式使用。
安装
下载最新发布的插件包
File >Settings > Plugins > Install plugin from disk
如下图:
使用
编写元数据
进入项目 codemeta 项目
如果没有这个模块,操作如下的步骤:
如显示缺少“me.javaroad.plugins”包,请手工引入,引入方式:
键入类代码
参考 expanse-framework\Server\codemeta,类需要继承 FullAuditedEntity,如果是树形实体 ,需实现 ITreeObject 接口。
- 示例代码说明:
示例类 | 说明 |
---|---|
Base_TreeTest | 树形结构元数据 |
PL_Entity | 普通实体元数据 |
PL_EntityWithChildren | 主子实体元数据 |
PL_EntityChild | 主子实体的子实体元数据,无需生成 UI |
- 元注解、无类型说明
示例类 | 说明 |
---|---|
@Display | 注解、显示名称注解,用于类、字段 |
@TypeMeta | 注解、类元数据注解, value: 所属子项目,可选值:loansubsystem、publicsubsystem;uiType:UI 生成方式,可为 dialog: 弹出、nav:菜单导航 |
@MaxLength | 注解、字段最大长度,仅用于字段,类型为 String 类型的字段生效,如未设置,默认长度 50,数值、日期类型无效 |
@Required | 注解、是否必输,仅用于字段 |
@DataDictionary | 注解、字典下拉选择,value: 字典下拉类别, 仅用于字段 |
@ObjectRef | 注解、对象参照,系统自动在数据库生成索引字段,在服务方法中加入 getListBy{字段名称},deleteBy{字段名称},deleteBatchBy{字段名称} 方法,value: 参照名称, 仅用于字段 |
@ForeignKey | 注解、子类产照父类字段名称,和字段类型 Children<…> 配合使用,构成主子结构实体,仅用于字段 |
Currency | 字段类型、货币类别,仅用于字段 |
Percent | 字段类型、百分比类别,仅用于字段 |
Children<…> | 字段类型、子类类别,和注解 @ForeignKey 配合使用,构成主子结构实体,注意子类中的对应字段(本例中的 loanDocId 一定要添加 @ObjectRef(“***”) 对象参照注解,仅用于字段 |
BigDecimal | 字段类型、普通数值类型,仅用于字段 |
Integer | 字段类型、整形数值类型,仅用于字段 |
Boolean | 字段类型、Boolean 类型,仅用于字段 |
LocalDateTime | 字段类型、日期类型,仅用于字段 |
类代码生成
-
步骤
-
元类点击右键!
>
- 步骤 2
> 执行 expanse-framework\Server\db\sql{元类名称}Table.sql(数据库表结构脚本) 执行 expanse-framework\Server\db\sql{元类名称}Data.sql(自动生成的导航、权限、数据字典类别数据库脚本)
- 步骤 3
> 菜单 系统 -> 缓存管理,点击 重新加载缓存 按钮 加载数据库改动 注销退出 重新登陆 数据生效