安徽省住房和建设厅网站,企业网站建设硬件,网站推广计划的内容,平台网站兼职做sap在intellij idea中#xff0c;通过插件EasyCodeMybatisCodeHelperPro#xff0c;从现有的模板文件中选择一个复制粘贴#xff0c;然后稍为修改#xff0c;即可得到一个合适的模板文件。
现在的前端#xff0c;越来越像后端。TypeScript替代了JavaScript#xff0c;引入了…在intellij idea中通过插件EasyCodeMybatisCodeHelperPro从现有的模板文件中选择一个复制粘贴然后稍为修改即可得到一个合适的模板文件。
现在的前端越来越像后端。TypeScript替代了JavaScript引入了强类型还有抽象类、接口、proteced属性之类的东东。然后还有根据数据库表导出的实体类文件问你死未。当我听到我同事说这些名为*.data.ts的json格式文件是通过工具自动导出来时我感到震惊50岁的心灵遭到暴击内心一阵被时代抛弃的恐慌。我没想到还可以这么搞。
经过请教和摸索我也终于可以导出前端实体类了。总结如下
1、概述 目前好像没有专门根据数据库用于导出前端类的工具。但可以通过后端的工具顺便导一下。我用的是EasyCodeMybatisCodeHelperPro。我请教同事是怎么导的他说是EasyCode结果我装了一个EasyCode后Intellij Idea居然打不开了。最后费了九牛二虎之力才恢复正常。事实证明用EasyCodeMybatisCodeHelperPro也完全可以无非是通过模板文件导而已。
2、创建模板文件 EasyCodeMybatisCodeHelperPro提供了几个模板文件用于在后端自动生成代码。前端的话我复制了其中的实体类模板改名为vue.json.vm然后稍为改改里面的内容即可得到前端模板。具体为 1打开intellij idea 2File - Setting - Other Settings - EasyCodeMybatisCodeHelperPro - Template 3、编写前端模板文件 模板里的普通正文会输出到导出文件里。如果要用到系统变量就是#$这类特殊符号还有一些循环语句之类。其实系统很贴心地在下半部分提供了注释稍为看一下就能理解。 模板文件代码示例vue.json.vm)
##引入宏定义不知道有什么用
$!{define.vm}##使用宏定义设置回调保存位置与文件后缀生成子路径以及文件后缀名
#save(/data, .data.ts)##使用全局变量实现默认包导入下面基本都是输出文件中的内容不必深究
import { reactive } from vue
import { required } from /utils/formRules
import { VxeCrudSchema, useVxeCrudSchemas } from /hooks/web/useVxeCrudSchemas// 表单校验
export const rules reactive({proId: [required]
})// CrudSchema
//isTable: 是否在列表显示
//isSearch: 是否在查询显示
const crudSchemas reactiveVxeCrudSchema({
## 输出主键
#foreach($pk in $tableInfo.pkColumn)primaryKey: $pk.name,
#endprimaryType: seq,action: true,columns: [## 循环输出字段
#foreach($column in $tableInfo.fullColumn)
{title: $column.comment,field: $column.name,isTable: true,isSearch: true
},
#end]
})
export const { allSchemas } useVxeCrudSchemas(crudSchemas)导出的文件 打开其中一个DwtProjectProof.data.ts
import { reactive } from vue
import { required } from /utils/formRules
import { VxeCrudSchema, useVxeCrudSchemas } from /hooks/web/useVxeCrudSchemas// 表单校验
export const rules reactive({proId: [required]
})// CrudSchema
//isTable: 是否在列表显示
//isSearch: 是否在查询显示
const crudSchemas reactiveVxeCrudSchema({primaryKey: id,primaryType: seq,action: true,columns: [{title: 版本ID,field: id,isTable: true,isSearch: true
},
{title: 论证报告编号,field: examineReportNo,isTable: true,isSearch: true
},
{title: 论证报告评审专家,field: examineExpert,isTable: true,isSearch: true
},
{title: 论证报告评审时间,field: examineAssessDate,isTable: true,isSearch: true
},
{title: 论证评审组织单位,field: examineLineupUnit,isTable: true,isSearch: true
},
{title: 论证报告专家评审意见,field: examineExpertOptions,isTable: true,isSearch: true
},
{title: 审核部门经办人,field: examineHandler,isTable: true,isSearch: true
},
{title: 审核会议时间,field: examineMeetingDate,isTable: true,isSearch: true
},
{title: 审核意见,field: examineOptions,isTable: true,isSearch: true
},
{title: 关联ID,field: mapId,isTable: true,isSearch: true
},
{title: 创建人ID,field: creatorid,isTable: true,isSearch: true
},
{title: 创建时间,field: createtime,isTable: true,isSearch: true
},
{title: 修改人ID,field: modifyid,isTable: true,isSearch: true
},
{title: 修改时间,field: modifytime,isTable: true,isSearch: true
},
{title: 所属项目ID,field: proId,isTable: true,isSearch: true
},]
})
export const { allSchemas } useVxeCrudSchemas(crudSchemas)