创建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、编写前端模板文件
模板里的普通正文,会输出到导出文件里。如果要用到系统变量,就是#,$这类特殊符号,还有一些循环语句之类。其实系统很贴心地在下半部分提供了注释,稍为看一下就能理解。
在这里插入图片描述
模板文件代码示例(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',
#end
  primaryType: '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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/309780.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

压缩编码之变换的选择之离散余弦变换(DCT)和离散傅立叶变换(DFT)——数字图像处理

原理 变换的选择是一个关键的考量因素&#xff0c;它决定了数据是如何被压缩的。选择变换时考虑以下几个重要原则&#xff1a; 数据去关联性&#xff1a;变换的目的之一是减少数据中的相关性。例如&#xff0c;在图像压缩中&#xff0c;像素间往往高度相关。通过适当的变换&a…

统计学-R语言-1

文章目录 统计学介绍基本类型数据和变量数据抽样总结 统计学介绍 统计学(statistics)是“数据的科学” 1.是用以收集数据、分析数据和由数据得出结论的一组概念、原则和方法。 2.统计学进行推断的基础是数据(data)。数据不仅仅限于数字&#xff0c;也可能是图表、视频、音频或…

数据结构排序——详解快排及其优化和冒泡排序(c语言实现、附有图片与动图示意)

上次讲了选择排序和堆排序&#xff1a;数据结构排序——选择排序与堆排序 今天就来快排和冒泡 文章目录 1.快排1.1基本介绍1.2不同的分区方法及代码实现1.2.1Hoare版1.2.2挖坑版1.2.3 前后指针版 1.3快排的优化1.3.1三数取中选key1.3.2递归到小的子区间时&#xff0c;可以考虑…

09、Kafka ------ 通过修改保存时间来删除消息(retention.ms 配置)

目录 通过修改保存时间来删除消息★ 删除指定主题的消息演示1、修改kafka检查过期消息的时间间隔2、修改主题下消息的过期时间3、查看修改是否生效4、先查看下主题下有没有消息5、添加几条消息看效果6、查看消息是否被删除 ★ 恢复主题的retention.ms配置1、先查看没修改前的te…

NLP(十八):LLM 的推理优化技术纵览

原文&#xff1a;NLP&#xff08;十八&#xff09;&#xff1a;LLM 的推理优化技术纵览 - 知乎 目录 收起 一、子图融合&#xff08;subgraph fusion&#xff09; 1.1 FasterTransformer by NVIDIA 1.2 DeepSpeed Inference by Microsoft 1.3 MLC LLM by TVM 二、模型压…

可视可交互!在全志H618上用OpenCV读取图像显示到PyQt5窗口上

OpenCV能够处理图像、视频、深度图像等各种类型的视觉数据&#xff0c;在某些情况下&#xff0c;尽管OpenCV可以显示窗口&#xff0c;但PyQt5可能更适合用于创建复杂的交互式应用程序&#xff0c;而自带GPU的H618就成为了这些图像显示的最佳载体。 这里分享一个代码&#xff0…

实战(CVE-2023-42442)JumpServer未授权访问漏洞

声明&#xff1a; 该文章仅供网络安全领域的学习使用&#xff0c;请勿利用文章内的相关技术从事任何非法行为。 测试资产为日本IP&#xff0c;因此未做任何打码处理&#xff0c;我们只进行poc&#xff08;漏洞验证&#xff09;&#xff0c;不进行exp&#xff08;漏洞利用&#…

使用numpy处理图片——模糊处理

大纲 高斯模糊方框模糊其他算法median_filtermaximum_filterminimum_filterpercentile_filterrank_filtergaussian_laplacecorrelatemorphological_laplacewhite_tophatmorphological_gradientblack_tophat 在《使用numpy处理图片——滤镜》一文中&#xff0c;我们尝试了去掉一…

Python文件自动化处理

os模块 Python标准库和操作系统有关的操作创建、移动、复制文件和文件夹文件路径和名称处理 路径的操作 获取当前Python程序运行路径不同操作系统之间路径的表示方式 windows中采用反斜杠(\)作为文件夹之间的分隔符 Mac和Linux中采用斜杠(/)作为文件夹之间的分隔符 把文件…

cuda12.0 安装 pytorch

前两天买的y7000p到了&#xff0c;然后就要重新配下环境。 流程如下 首先下载miniconda &#xff0c;我下的是python3.8的创建自己的自定义环境检查自己的cuda版本&#xff0c;我的是cuda:12.0然后再pytorch上找到对应cuda版本的进行下载&#xff0c;pip install或者conda in…

Fluids —— Fluid sourcing

目录 FLIP Boundary: None FLIP Boundary: Velocity FLIP Boundary: Pressure Other methods SOP FLIP流体为生成粒子提供三种Boundary方式&#xff08;None、Velocity、Pressure&#xff09;&#xff1b; 注&#xff0c;源对象必须是封闭且实体3D或体积对象&#xff0c;开…

(超详细)2-YOLOV5改进-添加SimAM注意力机制

1、在yolov5/models下面新建一个SimAM.py文件&#xff0c;在里面放入下面的代码 代码如下&#xff1a; import torch import torch.nn as nnclass SimAM(torch.nn.Module):def __init__(self, e_lambda1e-4):super(SimAM, self).__init__()self.activaton nn.Sigmoid()self…

【局域网window10系统搭建共享文件夹或与手机共享】

局域网window10系统搭建共享文件夹或与手机共享 1、Window 10之间搭建共享文件夹1.1 ping通两台window 10 电脑1.2 创建共享账号&#xff08;window 10专业版&#xff09;1.3 创建共享文件夹以及配置1.4访问共享文件夹 2、手机访问window10 共享文件夹&#xff08;结合步骤一&a…

vulhub中的Nginx 文件名逻辑漏洞(CVE-2013-4547)

目录 Nginx 文件名逻辑漏洞&#xff08;CVE-2013-4547&#xff09; 1.cd到CVE-2013-4547 2.执行docker-compose up -d 3.查看靶场是否开启成功 4.访问浏览器 5.上传含有一句话木马的图片 6.burp抓包 7.在shell.gif加空格 8.放包 9.访问路径 10.继续抓包 11.在aa后面…

【vitest 单元测试】如何蹭 ant-design-web3 的PR

这篇文章分享单测经验&#xff0c;希望你能收获到有用的单测知识或者pr思路&#xff0c;填补单测的过程可以深刻理解组件内部的每一个流程&#xff0c;相信一定有所收获。 ant-design-web3 前言查看单测覆盖情况运行命令&#xff0c;本地会生成一份临时目录通过live server打开…

如何用GPT制作PPT和写代码?

详情点击链接&#xff1a;如何用GPT制作PPT和写模型代码&#xff1f; 一OpenAI 1.最新大模型GPT-4 Turbo 2.最新发布的高级数据分析&#xff0c;AI画图&#xff0c;图像识别&#xff0c;文档API 3.GPT Store 4.从0到1创建自己的GPT应用 5. 模型Gemini以及大模型Claude2二定…

《路由与交换技术》---简答题

1、什么是STP&#xff1f;解决什么问题&#xff1f; STP代表生成树协议&#xff08;Spanning Tree Protocol&#xff09;。它是用于在计算机网络中解决环路问题的一种协议。 STP的主要目标是消除环路&#xff0c;保持网络的稳定性和可靠性&#xff0c;同时提供冗余路径以实现网…

Python爬虫-新能源汽车对应的“年份月份”销量榜

前言 本文是该专栏的第15篇,后面会持续分享python爬虫干货知识,记得关注。 在本专栏前面,笔者有单独详细介绍采集新能源汽车销量榜,感兴趣的同学,可以往前翻阅查看《Python爬虫-新能源汽车销量榜》。而之后,也有很多同学单独私信,那如果要单独采集某个年份,某个月份的…

【论文综述】一篇关于GAN在计算机视觉邻域的综述

前言 这是一篇关于GAN在计算机视觉领域的综述。 正文 生成对抗网络是一种基于博弈论的生成模型&#xff0c;其中神经网络用于模拟数据分布。应用领域&#xff1a;语言生成、图像生成、图像到图像翻译、图像生成文本描述、视频生成。GAN模型能够复制数据分布并生成合成数据&a…

用React给XXL-JOB开发一个新皮肤(二):目录规划和路由初始化

目录 一. 简述二. 目录规划三. Vite 配置 3.1. 配置路径别名3.2. 配置 less 四. 页面 4.1. 入口文件4.2. 骨架文件4.3. 普通页面 五. 路由配置六. 预览启动 一. 简述 上一篇文章我们介绍了项目初始化&#xff0c;此篇文章我们会先介绍下当前项目的目录规划&#xff0c;接着对…