当前位置: 首页 > news >正文

创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件

在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
2)File - Setting - Other Settings - EasyCodeMybatisCodeHelperPro - Template
在这里插入图片描述

在这里插入图片描述

3、编写前端模板文件

模板里的普通正文,会输出到导出文件里。如果要用到系统变量,就是#,$这类特殊符号,还有一些循环语句之类。其实系统很贴心地在下半部分提供了注释,稍为看一下就能理解。试举2例:

1)使用系统变量

$!{tableInfo.name}

2)循环语句:
以”#“开路。注意2个#之间,使用系统变量直接用$符号即可,不要像1)那样复杂。

#foreach($pk in $tableInfo.pkColumn)primaryKey: '$pk.name',
#end

在这里插入图片描述
模板文件代码示例(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 = reactive<VxeCrudSchema>({
## 输出主键
#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 = reactive<VxeCrudSchema>({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)
http://www.lryc.cn/news/280789.html

相关文章:

  • 华为端口安全常用3种方法配置案例
  • RH850P1X芯片学习笔记-Flash Memory
  • 利用XSS漏洞打cookie
  • 用java写个redis工具类
  • 实现防抖函数
  • MetaGPT task1学习
  • 关于量子计算机的设想
  • 序列模型(4)—— Scaling Laws
  • 【软件测试学习笔记1】测试基础
  • pytorch详细探索各种cnn卷积神经网络
  • OpenCV——八邻域断点检测
  • leetcode238:除自身以外数组的乘积
  • VTK开发调试环境下载(VTK开发环境一步到位直接开发,无需自己配置编译 VS2017+Qt5.12.10+VTK)
  • 【JAVA】在 Queue 中 poll()和 remove()有什么区别
  • 常用Java代码-Java中的Optional类和null安全编程
  • android.os.NetworkOnMainThreadException
  • Java生成四位数随机验证码
  • 编程探秘:Python深渊之旅-----数据可视化(八)
  • 上海亚商投顾:创业板指冲高回落 光伏、航运股逆势走强
  • Python3 中常用字符串函数介绍
  • Python - 深夜数据结构与算法之 AVL 树 红黑树
  • Zookeeper使用详解
  • C#属性(Property)
  • 在docker中搭建部署clickhouse
  • 第九部分 使用函数 (三)
  • 基础命令继续
  • uni-app做A-Z排序通讯录、索引列表
  • Codeforces Round 768 (Div. 1) D. Flipping Range(思维题 等价类性质 dp)
  • springboot集成kafka消费数据
  • 单例模式---JAVA