快速入门以Jeecg-Boot快速开发框架为例。
从BizMDA中Clone下载项目源码;
在Eclipse或IDEA中作为MAVEN项目导入;
设置model/mda.yml
中代码和资源文件输出目录:
#代码作者名author: Steven#代码作者邮箱email: [email protected]#版本号version: V1.0#生成代码所属java包名packageName: com.bizmda#生成代码文件所在目录sourcePath: tmp/src#生成资源文件所在目录resourcePath: tmp/resource#生成代码所用的模板名template: Jeecg-Boot
主要需要设置参数:
"sourcePath"和"resourcePath"这2个参数——分别对应代码文件和资源文件的生成输出目录;
"template"——指定使用Jeecg-Boot模板进行代码生成,这套代码只适用用Jeecg Boot框架。
数据建模,在model/data/crm
目录下增加customer(顾客)实体的数据建模文件customer.yml
#标签label: 客户#主键primaryKey: cust_no#主键生成规则(MANUAL-手工输入(缺省) UUID-UUID AUTO_INCREMENT-自增)primaryKeyType: UUID#是否物理删除,会自动生成mda_status域(0正常 1删除 2停用)hasStatus: false#是否跟踪创建和更新,会自动生成create_by,create_date,update_by,update_datehasCreateUpdate: false#域列表fields:#域名- name: cust_no#域标签label: 客户编号#数据类型:int,float,decimal(19,2)-money,date,datetime,tinyint-boolean,varchar(100),char(10),blobtype: char(32)#输入类型:text,textarea,checkbox,radiobox,selectinputType: text#相关字典名dictName:#允许为空isNull: false- name: cust_namelabel: 客户名称type: varchar(20)inputType: textisNull: false- name: cust_region#域标签label: 所在地区#数据类型:int,float,decimal(19,2)-money,date,datetime,tinyint-boolean,varchar(100),char(10),blobtype: varchar(5)#输入类型:text,textarea,checkbox,radiobox,selectinputType: select#相关字典名dictName: region#允许为空isNull: true- name: cust_address#域标签label: 地址#数据类型:int,float,decimal(19,2)-money,timestamp,tinyint-boolean,varchar(100),char(10),blobtype: varchar(100)#输入类型:text,textarea,checkbox,radiobox,selectinputType: text- name: cust_registered_capital#域标签label: 注册资金#数据类型:int,float,decimal(19,2)-money,timestamp,tinyint-boolean,varchar(100),char(10),blobtype: decimal(19,2)#输入类型:text,textarea,checkbox,radiobox,selectinputType: text#允许为空isNull: true
主要设置参数:
数据实体属性——表名、主键等;
数据实体项下各数据域属性——包括域存储属性和视图呈现属性。
视图建模,在model/view/crm
目录下增加customer(顾客)实体的列表样式视图建模文件customer-list-1.yml
#标签label: 客户列表#视图展现模块model: LIST-1#查询条件域列表components:#视图类型:查询条件组件- type: QUERY#相关数据表tableName: customer#视图扩展属性view:fields:#域名- name: cust_no#视图扩展属性view:#提示信息placeholder: 输入客户编号#查询条件类型: EQ GE LE LIKE BETWEENqueryType: EQ#跨度span: 6#域名- name: cust_nameview:#提示信息placeholder: 输入客户名称#查询条件类型: EQ GE LE LIKE BETWEENqueryType: EQ#跨度span: 6actions:#视图类型:数据列表组件- type: LIST#相关数据表tableName: customer#视图扩展属性view:modalView: /crm/CustomerFormModal1fields:#域名- name: cust_no- name: cust_name- name: cust_region- name: cust_address- name: cust_registered_capital#按钮动作actions:#动作类型- type: LIST-OPEN-VIEWlabel: 查看icon: readparams:view: /crm/CustomerForm1query: "{mda_id: record.custNo}"- type: LIST-DO-SERVICElabel: 删除服务icon: deleteparams:method: deleteurl: /crm/customer/deletedata: "{id: record.custNo}"confirm: true- type: LIST-DELETElabel: 删除icon: delete- type: LIST-EDIT-WITH-MODAL- type: ADD-WITH-MODAL- type: BATCH-DELETE- type: OPEN-VIEWlabel: 打开视图icon: folder-open"params:view: /crm/CustomerForm1confirm: true- type: DO-SERVICElabel: 执行服务icon: interationparams:method: deleteurl: /crm/customer/delete- type: EXPORT-EXCELlabel: 导出icon: download- type: IMPORT-EXCELlabel: 导入icon: import
主要设置参数:
视图属性——视图名称、视图采用的样式模板等;
视图项下组件属性——一个视图包括多个组件,这里会设置组件关联的数据实体以及组件的样式参数等;
组件项下域属性——一个组件会包括多个域(从组件关联的数据实体和服务实体中选择),这里会设置域的视图样式。
运行src/com/bizmda/CodeGen.java
;
你可以在你所设置的代码和资源文档输出目录(根据mda.yml
的设置,代码输出目录为当前项目目录的tmp/src
,资源文件输出目录为tmp/resource
)中,看到生成的代码和资源文档;
用生成的tmp/resource/db/crm/customer.sql
文件,在Jeecg-Boot框架项目关联的MySQL数据库中,创建customer表;
把生成的tmp/src
目录下所有文件,拷贝到Jeecg-Boot项目中的jeecg-boot/src/main/java
目录中;
把resources/Jeecg-Boot/ant-design-jeecg-vue/src
目录下文件,拷贝到Jeecg-Boot项目中的对应ant-design-jeecg-vue/src
目录中;
把生成的tmp/resource/views
目录下所有文件,拷贝到Jeecg-Boot项目中的对应ant-design-jeecg-vue/src/views
目录中;
在Jeecg-Boot项目启动类JeecgApplication.java
中,增加并修改以下二行:
@ComponentScan({"org.jeecg","com.bizmda"})@MapperScan({"com.bizmda.**.mapper"})
启动Jeecg-Boot,在菜单管理中配置CustomerList.vue的菜单入口,并配置针对此菜单的使用权限;
重新登录后,即可点击刚才配置好的菜单入口,呈现针对customer表的增、删、改、查功能。