若依 菜单生成及代码生成
菜单的类型:(1)M 目录(2)C 菜单(3)F 按钮前端选择生成的菜单菜单名称:对应前端侧边路由meta中的title。后端:下边是判断表中是否有重复的菜单:新增菜单:代码生成:若依框架最大的优点感觉就是代码生成,很方便,下边详细记录下:(1)第一步:生成表(2)第二步前端 系统工具页面 -> 代码生成 -> 导入 -> 弹出导入表,选择数据表(就是根据数据表来生成前后端代码)
菜单的类型:
(1)M 目录
(2)C 菜单
(3)F 按钮
前端选择生成的菜单
菜单名称:对应前端侧边路由meta中的title。
后端:
下边是判断表中是否有重复的菜单:
新增菜单:
代码生成:
单表增删改查
若依框架最大的优点感觉就是代码生成,很方便,下边详细记录下:
(1)第一步:
生成表
(2)第二步
前端 系统工具页面 -> 代码生成 -> 导入 -> 弹出导入表,选择数据表(就是根据数据表来生成前后端代码),
点击确定选择的数据表会被插入到列表中,对应的数据库表是 gen_table 表。
此时在点击导入时,不会出现之前选择表,原因查询时,会排除 gen_table表中的 所有 table_name字段,该字段就是要生成代码的数据表。
生成一条,点击编辑,看下对应字段是否正确:
基本信息:
字段信息:
下拉菜单一般是对应若依的字典类型(关于字段类型查看下一篇文章),如果不满足可新增字典类型。
生成信息:
生成的模块名就是对应前端目录的名字。
点击生成代码,执行生成的sql文件,这里特别要注意生成的菜单和对应目录的id:
后端代码复制到对应的模块下,前端代码把 模块目录+菜单+index.js 复制到views文件夹中,然后重启前端和后端服务,必须要重启,否则会报错!!!
最后测试:
添加数据:
表:
导出测试:
代码生成的实现细节:
前端调用了接口,
后端:
downloadCode()方法实现类:
generatorCode()方法
根据表名查询表(gen_table、gen_table-column)两个的相关信息:如:表名、表描述、子表相关信息、包名、模块名等。
然后初始化Velocity 模板引擎:
初始化了VelocityEngine这个模板引擎,对其设置参数进行初始化,指定使用ClasspathResourceLoader来加载vm文件。然后我们就可以往VelocityContext这个Velocity容器中存放对象了,在vm文件中我们可以取出这些变量,从而进行模板输出.
把表相关信息存到 Velocity 上下文中。
拿到所有的模板,循环遍历,把数据和模板定义的变量对应,输出。
更多推荐
所有评论(0)