若依前端后端分离 代码生成修改(1)

这篇具有很好参考价值的文章主要介绍了若依前端后端分离 代码生成修改(1)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

模板引擎修改

2023年3月7日

9:26

# 使用说明
前端 生成设置 包名默认 由ruoyi-generator/src/main/resources/generator.yml 中包名提供
多级目录 是从配置文件的最后开始算
例如generator.yml 中com.aaa.bbb
前端页面 包路径 配置为 com.aaa.bbb.ccc 模块配置为 ccc 功能配置为 zzz 此时为 二级目录结构 (对应若依后台管理 左侧为2层 最后一层(菜单 点击打开 页面))
前端页面 包路径 配置为 com.aaa.bbb.ccc.eee 模块配置为 eee 功能配置为 zzz 此时为 三级目录结构 (对应若依后台管理 左侧为3层 最后一层(菜单 点击打开 页面))

主要配置参数的引用和定义

  1. 表字段
.vm模板: 参数名 使用位置(.vm模板文件中) 前端表单表头 默认值来源 db表: gen_table
packageName package ${packageName}.controller; 生成包路径 配置文件

Packag

e_name

ClassName和className I${ClassName}Service ${className}Service; - DB 表名 配合配置文件使用 class_name(类名非引用名)
functionName

/**

* 获取${functionName}详细信息

*/

生成功能名 DB表的注释 function_name
moduleName 模块名 @RequestMapping("/${moduleName}/${businessName}") 生成模块名 配置文件 包名最后一级 module_name
businessName 业务名 生成业务名 配置文件 DB名最后一级 business_name
  1. 列字段
参数 前端表单表头 db表: gen_table_column
 
字段列名
字段描述
物理类型
Java类型
java属性
插入
编辑
列表
查询
查询方式
必填
显示类型
字典类型
column_name
column_comment
column_type
java_type
java_field
is_required
is_insert
is_edit
is_list
is_query
query_type
html_type
dict_type

解释:

a. DB表名 "_" 分割 命名 (windows MySQL 表名全部小写, 若要区分大小写,请修改数据库配置文件)

b. 配置文件所在位置: ruoyi-generator/src/main/resources/generator.yml

c. 默认表字段参数设置核心代码位置: ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java#initTable(...)

d. 默认列字段参数设置核心代码位置: ruoyi-generator/src/main/java/com/ruoyi/generator/util/GenUtils.java#initColumnField(...)

e. 使用位置只是举例具体全部 查看模板文件

<!-- -->

f. 个人使用的事若依前后端分离版本 3.2.0

模板引擎工作流程

引用来源 :https://oomspot.com/post/ruoyiguanlixitongruoyivuesandaimashengchengqiyuanl

  1. 首先看com.ruoyi.generator.controller.GenControllerimportTableSave 接口,它做了以下这些事情

    a. 从information_schema数据库的tables表中查询目标表的表明、标注释、创建时间和更新时间,但是忽略掉定时任务的表和已经生成过的表。

    b. 初始化表数据并将数据插入ruoyi数据库的gen_table表

    c. 从information_schema数据库的columns表中查询目标表的列信息,包含字段名、字段注释、字段类型、是否允许为null等详细信息

    d. 初始化列信息并将数据插入ruoyi数据库的gen_table_column表

<!-- -->
  1. 接下来看下 com.ruoyi.generator.controller.GenControllerbatchGenCode 接口,它做了以下这些事情

    a. 从ruoyi数据库的gen_table、gen_table_column表查询出生成代码需要的表和列信息。

    b. 初始化Velocity

    c. 准备Velocity上下文信息(变量值信息)

    d. 读取模板、渲染模板,然后将渲染后的模板内容添加进如压缩流,之后前端就可以下载zip压缩文件了。

  1. 导入按钮 业务流程

    a. 前端 导入按钮 发送请求 http://localhost/dev-api/tool/gen/db/list?pageNum=1&pageSize=10&tableName=liner

    b. controller流程

    1.  获取前端 要导入的 tables (数组) 获得 DB 表名数组
    
    2.  查询DB 获得 List\<GenTable\> 列表 (此时只封装了 DB中有的基本 数据)
    
    3.  importGenTable( List\<GenTable\> ) ①设置默认的表字段信息 ② 设置默认的列字段信息
    
  1. 设置默认的表字段信息

initTable(GenTable genTable, String operName)

// 判读配置文件是否设置除去前缀 ,去除前缀后 变为类名 全部小写后 首字母大写拼接

genTable.setClassName(convertClassName(genTable.getTableName()));

//从配置文件中获取 包名的配置

genTable.setPackageName(GenConfig.getPackageName());

// 包名的最后一级

genTable.setModuleName(getModuleName(GenConfig.getPackageName()));

//{_}分割命名 DB表名的最后一级

genTable.setBusinessName(getBusinessName(genTable.getTableName()));

//功能名 就是DB表的注释 如果表中的注释有 表或若依 替换为""

genTable.setFunctionName(replaceText(genTable.getTableComment()));

//从配置文件中获取 作者信息

genTable.setFunctionAuthor(GenConfig.getAuthor());

// SecurityUtils.getUsername(); 登录用户名

genTable.setCreateBy(operName);

  1. 设置默认的列字段信息

initColumnField(GenTableColumn column, GenTable table) 方法主要做的事

根据 DB字段名 (例first_name), 字段类型(例int(11)), 注释(曾用名), 约束(not null,主键...) 推断出

Java类型 , java属性, 插入, 编辑, 列表, 查询, 查询方式, 必填, 显示类型, 字典类型 这些字段的值

  1. 代码生成业务流程

    a. 预览

    b. 下载 只修改下载路径和导入路径

    c. 保存到相关目录文章来源地址https://www.toymoban.com/news/detail-417392.html

到了这里,关于若依前端后端分离 代码生成修改(1)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 若依框架(二)-介绍和生成代码

    功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。 岗位管理:配置系统用户所属担任职务。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 角色管理:角色菜单权

    2023年04月17日
    浏览(54)
  • 13.若依代码自动生成功能详解

    基于若依的目录结构,若依本身提供了代码生成功能,可以根据数据库表的内容,生成一些基本的CRUD的前后端的功能。本文将生成过程中的一些注意事项,进行了整理和说明 注意:在使用代码生成功能之前,一定要注意数据库字段,不能是,要不使用的时候,一堆问

    2024年01月25日
    浏览(51)
  • 若依Ruoyi-Vue生成代码使用

    目录 一、效果一览: 二、详细步骤: ①登录若依----点击系统工具--点击代码生成模块 ②使用Navicat在若依数据库里面新建一张表单,我这示例创建了my_students表单 并为表设计字段添加数据  ③在代码生成栏导入刚才创建的my_students表 并编辑这张表  ④完成这些操作之后,点

    2024年02月05日
    浏览(48)
  • 若依框架,代码生成,系统404异常 解决方案

    使用若依的生成代码功能,下载生成的代码并将其放入项目中后,启动项目,对应页面提示系统接口404异常。 错误的原因之一 :没有把代码放到应该放的位置(默认位置)。 1.controller包的代码要放到ruoyi-admin下,对应位置; 2.其余Java代码放到ruoyi-system下。 如果想要把contr

    2024年02月16日
    浏览(46)
  • 【Java】若依的使用代码生成及字典的使用

            若依管理系统是一款基于 Java 语言开发的 开源管理系统 。它采用了 Spring Boot 框架,使得开发更加 快速和高效 。同时,它还集成了 MyBatis Plus ,进一步简化了数据库操作。若依管理系统的界面简洁美观,且支持多语言,可以满足不同用户的需求。此外,它还提供

    2024年02月05日
    浏览(31)
  • 若依ruoyi——手把手教你制作自己的管理系统【三、代码生成】

    增删改查导一( ̄︶ ̄*)) 按钮换个色一((* ̄3 ̄)╭ ********* 专栏略长 ==== 爆肝万字 ==== 细节狂魔 ==== 请准备好一键三连 ********* 修改后的页面: 干干净净贼舒服一Ψ( ̄∀ ̄)Ψ——Ψ( ̄∀ ̄)Ψ一 接下来我们要达到的效果如下(自定义菜单 里面有列表数据回显+增删改查) 一、修改

    2023年04月25日
    浏览(48)
  • 汇编代码生成和编译器的后端

    基于SLR(1)分析的语义分析及中间代码生成程序-CSDN博客 https://blog.csdn.net/lijj0304/article/details/135097554?spm=1001.2014.3001.5501 在前面编译器前端实现的基础上,将所生成的中间代码翻译成某种目标机的汇编代码,实现编译器后端实现的任务。然后进一步实现程序的输入是源程序,输出

    2024年01月21日
    浏览(46)
  • 03.前后端分离中台框架 zhontai 项目代码生成器的使用

    基于 .Net7.x + Vue 等技术的前后端分离后台权限管理系统,想你所想的开发理念,希望减少工作量,帮助大家实现快速开发 后端地址:https://github.com/zhontai/Admin.Core 前端地址:https://github.com/zhontai/admin.ui.plus 代码生成器: 后端:https://github.com/yimogit/Admin.Core.Dev Fork 自 https://gith

    2024年02月12日
    浏览(40)
  • 【基于若依开发的后台管理系统通用模板-低代码权限管理框架系统-代码一键生成-可视化拖拽-PC端与手机全端支持】

    LessCode是基于若依系统开发的一款后台管理系统通用模板,低代码权限管理框架系统,可多终端适配,同时支持PC端、APP、小程序、H5;LessCode内置代码生成功能,可一键生成java后端、vue前端、uniapp手机端代码,极大提高了程序员的开发效率;其内置框架功能包含用户角色权限

    2024年04月24日
    浏览(51)
  • 帝国CMS广告标签phomead生成的广告代码修改方法

    帝国cms生成广告标签如下: [phomead]1[/phomead] 1就是广告的id 那么生成广告标签的代码是在哪里修改呢 是在 /e/class/t_functions.php 文件里面的 function sys_GetAd 函数里修改。 不过在实际应用中 最是用加载js代码,方便修改。

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包