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

若依笔记(四):代码生成器

已知使用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());}}}}

待续

http://www.lryc.cn/news/216596.html

相关文章:

  • 怎样做好金融投资翻译
  • ubuntu 分区 方案
  • Python自动化测试面试题总结
  • 客户端性能测试基础知识
  • 多模态论文阅读之VLMo
  • 休闲类手游还有机会吗?两大策略收割全球玩家
  • Git复制代码
  • 数据结构笔记——查找、排序(王道408)
  • MySQL---搜索引擎
  • 2022最新版-李宏毅机器学习深度学习课程-P32 Transformer
  • 如何使用商品详情API接口获取商品数据:一篇详尽的论述
  • 华为:手机王者归来,汽车起死回生
  • Vue3.0 provide与inject依赖注入:VCA
  • 前端react入门day02-React中的事件绑定与组件
  • 工业5G路由器;小体积 千兆高速通信组网
  • 【深度学习基础】从R-CNN到Fast R-CNN,再到MaskR-CNN,发展历程讲清楚!
  • 面试算法51:节点值之和最大的路径
  • 阿里云 k8s 容器服务 设置节点为不可调度的两种方法有什么区别?
  • 新一代数据质量平台datavines
  • 建议收藏《2023华为海思实习笔试-数字芯片真题+解析》(附下载)
  • 【详细教程】关于如何使用GitGitHub的基本操作汇总GitHub的密钥配置 ->(个人学习记录笔记)
  • HTML样式CSS、图像
  • 智能电表瞬时电量是什么意思?
  • Redis之 redis.config配置文件
  • BIOS开发笔记 - CMOS
  • leetcode_117 填充每个节点的下一个右侧节点指针 II
  • 亲测 IDEA Pycharm 全家桶 自动重置免费30天
  • Marp: 将 Markdown 变为 PPT 式样的 VScode 插件
  • 根据正则表达式截取字串符,这个办法打败99%程序员
  • 冬天女儿的羽绒服就选它了,哈哈很喜欢