若依框架 功能快速开发
若依提供的代码生成功能,可以基于表结构快速生成前后端的代码,下面,我们快速感受一下单表的代码生成
准备工作
我首先开发的是护理项目模块,我们需要准备两部分内容,一个是一级菜单,第二个是表结构
菜单
我们要开发的模块是护理项目模块,而护理项目是子菜单,我们需要先在若依项目中创建一个服务管理的主菜单,方便对服务管理下的功能进行分类
准备主菜单-->服务管理,详细配置,如下:
表结构
护理项目表结构定义如下:
CREATE TABLE `nursing_project` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号', `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '名称', `order_no` int DEFAULT NULL COMMENT '排序号', `unit` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '单位', `price` decimal(10,2) DEFAULT NULL COMMENT '价格', `image` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '图片', `nursing_requirement` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '护理要求', `status` int NOT NULL DEFAULT '1' COMMENT '状态(0:禁用,1:启用)', `create_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '创建人', `update_by` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '更新人', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '备注', `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE, UNIQUE KEY `name` (`name`) USING BTREE ) ENGINE=InnoDB AUTO_INCREMENT=84 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='护理项目表';把以上sql导入到若依对应的数据库中即可
代码生成
找到系统工具-->代码生成,然后点击导入按钮选中nursing_project表结构,点击确定
目前在代码生成列表中,可以看到需要生成的数据
该数据对应了5个按钮
预览生成后的代码
修改代码生成的配置(常用)
删除代码生成
同步表结构(导入之后改动表的情况)
下载离线代码包
在生成之前,我们需要对代码生成做一些配置,我们可以点击修改按钮,可以看到有三部分的配置
基本信息
字段信息
生成信息
下图是字段信息,详细描述如下图:
字段信息 | 描述 |
字段列名 | 表中的字段列名称 |
字段描述 | 字段的描述,读取的comment信息,可根据实际情况更改 |
物理类型 | 数据库所对应的字段类型 |
Java类型 | Java实体类中属性的类型,可改,例如,状态字段:Long类型可以修改为Integer |
Java属性 | Java实体类中所对应的属性名称 |
插入 | 新增的时候,需要插入的字段 |
编辑 | 修改的时候,需要插入的字段 |
列表 | 列表查询需要展示的字段 |
查询 | 列表查询,需要的条件字段 |
查询方式 | 与上面查询条件配合,选择对应的查询方式 |
必填 | 在插入和新增的时候,这个字段是否是必填项,可生成校验 |
显示类型 | 前端代码使用的组件,可根据实际情况选择 |
字典类型 | 字典管理是用来维护数据类型的数据,如下拉框、单选按钮等,可自定义 |
下图是生成信息,可以按照自己的实际情况,来修改包路径,模块名称,上级菜单
修改完成后,点击提交按钮
等我们修改完毕后,回到了列表页,这个时候就可以点击下载按钮,去下载代码包
下载后的代码包,解压后,包含了三部分,如下图:
main 后端的代码
vue 前端的代码
projectMenu.sql 菜单关系的sql数据
执行projectMenu.sql文件中的内容,内容为菜单的数据
-- 菜单 SQL insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目', '2000', '1', 'project', 'nursing/project/index', 1, 0, 'C', '0', '0', 'nursing:project:list', '#', 'admin', sysdate(), '', null, '护理项目菜单'); -- 按钮父菜单ID SELECT @parentId := LAST_INSERT_ID(); -- 按钮 SQL insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目查询', @parentId, '1', '#', '', 1, 0, 'F', '0', '0', 'nursing:project:query', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目新增', @parentId, '2', '#', '', 1, 0, 'F', '0', '0', 'nursing:project:add', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目修改', @parentId, '3', '#', '', 1, 0, 'F', '0', '0', 'nursing:project:edit', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目删除', @parentId, '4', '#', '', 1, 0, 'F', '0', '0', 'nursing:project:remove', '#', 'admin', sysdate(), '', null, ''); insert into sys_menu (menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible, status, perms, icon, create_by, create_time, update_by, update_time, remark) values('护理项目导出', @parentId, '5', '#', '', 1, 0, 'F', '0', '0', 'nursing:project:export', '#', 'admin', sysdate(), '', null, '');把main目录拷贝后,找到后端ruoyi-admin模块,在main目录上点右键,选择Paste进行拷贝,效果如下:
打开vue文件夹,里面包含了两部分内容
api是指后端的接口定义代码
views中包含了vue组件的前端代码
选中这两个文件夹,打开前端项目,选中src目录进行拷贝,效果如下:
等代码拷贝完成后,重新启动前后端项目,打开页面,可以在服务管理中看到子菜单护理项目,如下图
可以对护理项目进行一些操作,比如,新增、修改、删除、查询等
