《若依ruoyi》第十一章:Ruoyi 代码生成工具详解-操作界面(若依生成代码怎么放)
在Java开发工具中Java代码自动生成工具是很常见的,代码生成是模型驱动开发中最简单和最常用的技术。我们使用一个信息源,一种模型形式,并将其与一些模板结合起来以获得生成的工件,例如代码。
代码生成是进入更高级技术的有用的入门级步骤。因此,认为创建简单的代码生成平台以降低新用户的进入门槛非常重要。
一、创建数据库表
1.首先我们先创建一张数据库表。
CREATE TABLE `tm_base_area` ( `ID` bigint(20) NOT null COMMENT 'ID', `AREA_NAME` varchar(255) DEFAULT NULL COMMENT '区域名称', `AREA_CODE` varchar(255) DEFAULT NULL COMMENT '区域编码', `PROVINCE_CODE` varchar(255) DEFAULT NULL COMMENT '省份编码', `PROVINCE_NAME` varchar(255) DEFAULT NULL COMMENT '省份名称', PRIMARY KEY (`ID`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='区域编码表';
二、配置生成代码
1.登录ruoyi管理后台,找到代码生成菜单
系统工具-》代码生成
3.点击导入按钮上面创建的数据库表,在列表显示记录,则表示已经导入成功
4.点击列表记录右侧到编辑按钮,进入编辑界面。
编辑界面包含三个tag信息,分别是基本信息,字段信息,生成信息。
一)、基本信息:包含表名称,表描述,实体类名称,作者,备注。改信息直接从数据库表描述获取
二)、字段信息:将数据库表字段信息显示出来,其中java类型和java属性是指生成的实体对象的数据类型。
1)数据类型可选择Long,String,Integer,Double,BigDecimal,Date,Boolean。根据实际情况选择对应的数据类型
2)插入/编辑/列表/查询列:分别对应新增页面,编辑页面,列表页面,查询页面显示到字段,打勾表示在新增的界面显示,用户可以输入该字段信息,不打勾表示界面不现实该字段。
3)查询方式是指顶部搜索字段,搜索条件可以包含等于,like,不等于,大于等
4)显示类型是指界面显示前,先调用指定封装的函数进行数据处理处理,处理完后的结果显示在界面。例如该字段是时间,假设选择日期控件,那么在新增和编辑的界面,界面显示的日期控件,用户可以选择对应的日期作为输入。
5)字典类型:该字段显示数据库配置好的字典,该数据来源对应数据库sys_dict_type表。
三)、生成信息
内容包括:生成模版,生成包路径,生成模版名,生成业务名,生成功能名,上级菜单,生成代码方式
生成模版:包含单表,树表,主子表
生成路径:生成在哪个java包下,例如 com.ruoyi.system
生成模块名:可理解为子系统名,例如 system
生成业务名:可理解为功能英文名,例如 user
生成功能名:用作类描述,例如 用户
上级菜单:分配到指定菜单下,例如 系统管理
生成代码方式:默认为zip压缩包下载,也可以自定义生成路径
三、生成代码
配置好上面的配置,可以点击保存,
在代码生成列表右侧,点击代码生成
下载的代码目录结构,areaMenu.sql(数据权限,在mysql数据库中执行),main(java代码)vue(前端代码)
将java的代码和vue对代码复制到项目。在数据库执行权限脚步
-- 菜单 SQLinsert 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('移动区域编码', '1', '1', 'area', 'system/area/index', 1, 0, 'C', '0', '0', 'system:area:list', '#', 'admin', sysdate(), '', null, '移动区域编码菜单');-- 按钮父菜单IDSELECT @parentId := LAST_INSERT_ID();-- 按钮 SQLinsert 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', 'system:area: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', 'system:area: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', 'system:area: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', 'system:area: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', 'system:area:export', '#', 'admin', sysdate(), '', null, '');
重启应用
四、成功展示
退出管理界面,重新登录,菜单生效
五、未来计划
1、ruoyi非分离版本拆解
2、ruoyi-vue-pro:讲解工作流
3、ruoyi-vue-pro:支付模块,电商模块
4、基于ruoyi-vue-pro项目开发
5、JEECG低代码开发平台
请关注我,本星球会持续推出更多的开源项目代码解析,如有更好的意见请留言回复或者私信