前提条件
本示例是以若依标准版作为演示,前后分离等版本暂未实践。
进行操作前需将本地环境搭建并正常运行。
前言
本示例是实现客户管理及联系人管理两个功能,两者关系为主子表,且两者又为单独应用,在客户管理中实现查看/新增客户联系人
1. 表结构设计
官网文档提供了单表结构的模板,可直接引用进行修改:
http://doc.ruoyi.vip/ruoyi/document/htsc.html#主子表结构
可以直接使用官网提供的sql进行,里面的字段及表的中文备注保留,为后续代码生成用。以下是我使用的sql
-- ----------------------------
-- 客户表
-- ----------------------------
drop table if exists my_customer;
create table my_customer (
customer_id bigint(20) not null auto_increment comment '客户id',
customer_name varchar(30) default '' comment '客户姓名',
phonenumber varchar(11) default '' comment '手机号码',
sex varchar(20) default null comment '客户性别',
birthday datetime comment '客户生日',
remark varchar(500) default null comment '客户描述',
primary key (customer_id)
) engine=innodb auto_increment=1 comment = '测试客户表';
-- ----------------------------
-- 客户联系人表
-- ----------------------------
drop table if exists my_client;
create table my_client (
client_id int(11) auto_increment comment '编号',
customer_id bigint(20) not null comment '客户id',
client_name varchar(30) default '' comment '联系人名称',
client_phone varchar(11) default null comment '手机号码',
primary key (client_id)
) engine=innodb auto_increment=1 comment = '客户联系人表';
2. 代码生成
运行本地若依系统,并打开“系统工具”-“代码生成”功能
2.1 配置表
点击“导入”按钮,将第一步创建的两个表选中并点击确认。
首先我们对主表先进行配置,选中主表并点击编辑,切换到“生成信息”栏,将“生成模板”改为主子表
选中后底部会显示关联信息,选中对应的子表及所关联的外键名,也就是主表的主键。
其他配置信息如包名、模块名等这里不做讲解,用默认进行。完成后点击保存。
返回到“代码生成”的列表页,选中主表并点击“生成代码”
2.2 更新本地项目文件
生成后会自动下载,形成如下文件
以下顺序为上图的文件编号,放入本地的若依项目文件中,对应路径如下
- 放在ruoyi-admin/src/main/resources/templates/system下
- ruoyi-system/src/main/resources/mapper.system下
- ruoyi-admin/src/main/java/com.ruoyi.web.controller.system下
- 456放在ruoyi-system下的com.ruoyi.system对应包下
最后再把自动下载下来的sql文件直接执行在ry数据库中
完成后重启本地服务。
启动时可能会存在各种包不存在,只需要把maven重新clean一下再启动就行了
登录系统查看功能,并测试增删改查。
3. 子表代码生成
按照同样的方法将客户联系人表也生成代码,根据上述步骤放入本地项目目录中。
结果如下:
客户管理应用
客户联系人应用:
从子表应用中看到,当前子表的详情页客户id是编号,并且无法选择,需要将客户id字段替换为选择客户管理弹出框。
下一章介绍如何将原生客户id的字段替换为数据选择框。