若依笔记(四):代码生成器
已知使用MyBatisPlus代码生成器可以自动生成Entity、Mapper、Service、Controller代码,前提是数据库中有数据表,生成pojo类以及对于该数据表的增删改查命令的代码,若依更进一步能选择表后生成代码、预览、下载,同时可以生产前端代码,与后端一起还能实现权限管理和数据隔离。

入口是有路由权限的前端index.vue,点击后调用api.js后发起后端请求,后端过controller-->service-->maapper查询请求;

核心就是generatorCode方法:
@Overridepublic void generatorCode(String tableName){// 查询表信息GenTable table = genTableMapper.selectGenTableByName(tableName);// 设置主子表信息setSubTable(table);// 设置主键列信息setPkColumn(table);VelocityInitializer.initVelocity();VelocityContext context = VelocityUtils.prepareContext(table);// 获取模板列表List<String> templates = VelocityUtils.getTemplateList(table.getTplCategory());for (String template : templates){if (!StringUtils.containsAny(template, "sql.vm", "api.js.vm", "index.vue.vm", "index-tree.vue.vm")){// 渲染模板StringWriter sw = new StringWriter();Template tpl = Velocity.getTemplate(template, Constants.UTF8);tpl.merge(context, sw);try{String path = getGenPath(table, template);FileUtils.writeStringToFile(new File(path), sw.toString(), CharsetKit.UTF_8);}catch (IOException e){throw new ServiceException("渲染模板失败,表名:" + table.getTableName());}}}}
待续
相关文章:
若依笔记(四):代码生成器
已知使用MyBatisPlus代码生成器可以自动生成Entity、Mapper、Service、Controller代码,前提是数据库中有数据表,生成pojo类以及对于该数据表的增删改查命令的代码,若依更进一步能选择表后生成代码、预览、下载,同时可以生产前端代…...
怎样做好金融投资翻译
我们知道, 金融投资翻译所需的译文往往是会议文献、年终报表、信贷审批等重要企业金融资料,其准确性事关整个企业在今后一段时期内的发展战略与经营成效。尤其像年报,对于上市公司来说更是至关重要的。那么,怎样做好金融投资翻译&…...
ubuntu 分区 方案
ubuntu 分区 方案 自动分区啥样子的? 手动分区 需要怎么操作? 注意点是啥? swap分区 要和 内存大小 差不多 安装ubuntu系统时硬盘分区方案 硬盘分区概述 一块硬盘最多可以分4个主分区,主分区之外的成为扩展分区。硬盘可以没有…...
Python自动化测试面试题总结
python有哪些数据类型怎么将两个字典合并python如何将json写到文件里?在except语句中return后还会不会执行finally中的代码?什么是可变、不可变类型?python函数调用时参数的传递是值传递还是引用传递?python深浅拷贝的区别python为…...
客户端性能测试基础知识
目录 1、客户端性能 1.1、客户端性能基础知识 2、客户端性能工具介绍与环境搭建 2.1.1、perfdog的使用 2.1.2、renderdoc的使用 1、客户端性能 1.1、客户端性能基础知识 客户端性能知识这里对2D和3D类游戏进行展开进行,讲述的有内存、CPU、GPU、帧率这几个模块…...
多模态论文阅读之VLMo
VLMo泛读 TitleMotivationContributionModelExpertimentsSummary Title VLMo:Unified Vision_Langugae Pre-Training with Mixture-of-Modality-Experts Motivation CLIP和ALIGN都采用dual-encoder的方式分别编码图像和文本,模态之间的交互采用cosine similarity…...
休闲类手游还有机会吗?两大策略收割全球玩家
刚刚过去的第三季度,是全球手游市场逆势增长的高光时刻。 买量、营收、下载等多项数据表现优异,其中买量最为突出的产品是休闲类游戏,广告主数占比23.76%断层第一,广告素材占比17.62%,是当之无愧的“广告顶流”。 数…...
Git复制代码
目录 一、常用下载代码 1.登录Git克隆SSH编辑 2.新建文件然后右键点击Git Bash Here 3.git clone Paste 二. 本地下载 1.从本地进入页面 2.生成代码——>导入——>生成代码后下载 3.解压道相应位置 一、常用下载代码 1.登录Git克隆SSH 2.新建文件然后右键点击…...
数据结构笔记——查找、排序(王道408)
文章目录 查找基本概念线性表查找顺序查找折半查找(二分)分块查找 树查找二叉排序树(BST)平衡二叉树(AVL)的插入平衡化复杂度分析 平衡二叉树的删除 红黑树红黑树的定义和性质红黑树定义红黑树性质 红黑树的…...
MySQL---搜索引擎
MySQL的存储引擎是什么 MySQL当中数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制,索引技巧 锁定水平,以及最终提供的不同的功能和能力,这些就是我们说的存储引擎。 MySQL存储引擎的功能 1.MySQL将数据存储在文…...
2022最新版-李宏毅机器学习深度学习课程-P32 Transformer
一、 seq2seq 1. 含义 输入一个序列,机器输出另一个序列,输出序列长度由机器决定。 文本翻译:文本至文本; 语音识别:语音至文本; 语音合成:文本至语音; 聊天机器人&#…...
如何使用商品详情API接口获取商品数据:一篇详尽的论述
一、引言 商品详情API接口是一种用于获取商品详细信息的应用程序接口。通过调用该接口,我们可以获取商品的名称、价格、描述、图片以及其他相关属性。对于电商平台、价格比较网站、数据分析等应用场景来说,商品详情API接口提供了便捷的数据获取方式。本…...
华为:手机王者归来,汽车起死回生
作为一家全球知名的科技公司,华为在通信、智能手机、平板电脑等领域拥有很高的市场份额和品牌影响力。而随着华为开始进军汽车领域,通过自主研发和合作,不断提升自己在汽车领域的竞争力,华为便也开始受到更为广泛的关注。 只不过…...
Vue3.0 provide与inject依赖注入:VCA
简介 provide 与 inject 是一种跨层级组件(祖孙)通信方式。当组件多层嵌套时,不需要将数据一层一层的向下传递,通过它俩可以实现跨层级组件通信。 provide:提供者 注入一个值,可以被后代组件接收。 prov…...
前端react入门day02-React中的事件绑定与组件
(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 React中的事件绑定 React 基础事件绑定 使用事件对象参数 传递自定义参数 同时传递事件对象和自定义参…...
工业5G路由器;小体积 千兆高速通信组网
计讯物联工业路由器TR232,5G高速网络,超低时延、高可靠性,小体积、易安装、强兼容,串口/网口多设备接入联网,为用户提供高速稳定的数据传输通道 。 小体积5G工业路由器TR323,外形1047824mm࿰…...
【深度学习基础】从R-CNN到Fast R-CNN,再到MaskR-CNN,发展历程讲清楚!
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
面试算法51:节点值之和最大的路径
题目 在二叉树中将路径定义为顺着节点之间的连接从任意一个节点开始到达任意一个节点所经过的所有节点。路径中至少包含一个节点,不一定经过二叉树的根节点,也不一定经过叶节点。给定非空的一棵二叉树,请求出二叉树所有路径上节点值之和的最…...
阿里云 k8s 容器服务 设置节点为不可调度的两种方法有什么区别?
两种方法的区别在于:drain 会驱逐原来节点上的所有 pod,而 cordon 只是停止调度, 禁止新的 pod 调度进来,但旧的 pod 不会受影响。...
新一代数据质量平台datavines
在我实习的第一家公司的时候,有幸参与Apache Griffin的开发,也先后在一起其他公司使用过数据质量平台,同时也调研过一些开源的数据质量平台。 最近和朋友一起参与开发了datavines数据质量平台,随着在数据行业越呆越久,…...
Mongo(2): MongoDB权限认证实战——从零配置用户角色与访问控制
1. MongoDB权限认证的必要性 第一次接触MongoDB时,很多人都会被它"开箱即用"的特性吸引——安装完成后不需要任何配置就能直接操作数据库。这种便利性在开发测试阶段确实很友好,但一旦进入生产环境,就相当于把自家大门敞开给所有人…...
5步释放Win11潜能:用Win11Debloat让系统性能提升60%的实战指南
5步释放Win11潜能:用Win11Debloat让系统性能提升60%的实战指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutte…...
OWL ADVENTURE Node.js环境配置与模型服务封装
OWL ADVENTURE Node.js环境配置与模型服务封装 1. 引言 如果你是一名Node.js开发者,最近对AI模型服务感兴趣,想把像OWL ADVENTURE这样的模型集成到自己的应用里,那你来对地方了。你可能已经看过一些模型介绍,知道它功能挺强&…...
FastGPT vs Dify vs Coze:哪个AI平台更适合你的项目需求?(2024最新对比)
FastGPT vs Dify vs Coze:2024年AI开发平台深度选型指南 当我们需要将大语言模型整合到业务系统中时,总会面临平台选择的难题。去年我在为一家金融科技公司搭建智能客服系统时,曾花费两周时间深度测试了市面上主流的三个AI开发平台——FastGP…...
DNS负载均衡的5个认知误区:为什么你的轮询总不生效?(附排查指南)
DNS负载均衡的5个认知误区:为什么你的轮询总不生效?(附排查指南) 当我们在讨论DNS负载均衡时,常常会遇到一些根深蒂固的误解。这些误解不仅会影响系统设计决策,还可能导致运维人员在排查问题时走弯路。本文…...
CasADi实战:用Python搞定机器人路径规划中的数值优化问题(附IPOPT配置)
CasADi实战:用Python搞定机器人路径规划中的数值优化问题(附IPOPT配置) 机器人路径规划的核心在于如何在复杂环境中找到一条既安全又高效的轨迹。这本质上是一个带约束的数值优化问题——我们需要最小化某种代价函数(如路径长度或…...
如何高效配置Kodi PVR IPTV Simple:专业级家庭IPTV直播系统部署指南
如何高效配置Kodi PVR IPTV Simple:专业级家庭IPTV直播系统部署指南 【免费下载链接】pvr.iptvsimple IPTV Simple client for Kodi PVR 项目地址: https://gitcode.com/gh_mirrors/pv/pvr.iptvsimple Kodi PVR IPTV Simple是一款功能强大的开源IPTV客户端插…...
影墨·今颜模型API接口开发与调用全指南
影墨今颜模型API接口开发与调用全指南 你是不是已经成功部署了影墨今颜模型,看着它能在本地生成惊艳的图片,心里正盘算着怎么把它变成一个能对外服务的“产品”?比如,让公司的设计团队直接调用,或者集成到自己的应用里…...
告别编码等待:LosslessCut的无损视频处理革命
告别编码等待:LosslessCut的无损视频处理革命 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 副标题:掌握零质量损失剪辑、多轨道精细控制与批…...
Windows记事本CVE-2026-20841漏洞分析:从命令注入根因、全链路攻击链到企业级纵深防御的全维度深度复盘
在Windows系统的生态里,从来没有一款工具能像记事本一样,拥有长达40年的“绝对安全”共识。 从1985年Windows 1.0首次预装,到如今Windows 11的全版本覆盖,这个仅数百KB的纯文本编辑器,始终是全球用户记录备忘、清理格…...
