若依Ruoyi 不分离教程01-新建主子表应用

前提条件

本示例是以若依标准版作为演示,前后分离等版本暂未实践。
进行操作前需将本地环境搭建并正常运行。

前言

本示例是实现客户管理及联系人管理两个功能,两者关系为主子表,且两者又为单独应用,在客户管理中实现查看/新增客户联系人

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 更新本地项目文件

生成后会自动下载,形成如下文件
在这里插入图片描述
以下顺序为上图的文件编号,放入本地的若依项目文件中,对应路径如下

  1. 放在ruoyi-admin/src/main/resources/templates/system下
  2. ruoyi-system/src/main/resources/mapper.system下
  3. ruoyi-admin/src/main/java/com.ruoyi.web.controller.system下
  4. 456放在ruoyi-system下的com.ruoyi.system对应包下

最后再把自动下载下来的sql文件直接执行在ry数据库中

完成后重启本地服务。
启动时可能会存在各种包不存在,只需要把maven重新clean一下再启动就行了

登录系统查看功能,并测试增删改查。
在这里插入图片描述

3. 子表代码生成

按照同样的方法将客户联系人表也生成代码,根据上述步骤放入本地项目目录中。
结果如下:
客户管理应用
在这里插入图片描述
客户联系人应用:
在这里插入图片描述

从子表应用中看到,当前子表的详情页客户id是编号,并且无法选择,需要将客户id字段替换为选择客户管理弹出框。
下一章介绍如何将原生客户id的字段替换为数据选择框。

### 若依框架主子表代码生成示例教程 #### 配置主表信息 对于主子表应用,在若依框架中首先需要对主表进行配置。选中要作为主表的数据表并点击编辑按钮,切换至“生成信息”栏。在此处,“生成模板”的选项应更改为支持主子表的模式[^3]。 ```java // 修改生成模板设置为例程所需的主子表形式 genTable.setTplCategory("sub"); ``` #### 关联子表及其外键定义 完成上述操作之后,界面底部会出现有关联信息的部分。这里需选择对应的子表以及该子表与主表之间关联使用的外键名称——通常是主表里的主键字段。 ```sql -- 子表关联设定示意 SQL (假设场景) ALTER TABLE order_detail ADD CONSTRAINT fk_order_id FOREIGN KEY(order_id) REFERENCES orders(id); ``` #### 使用代码生成功能创建SQL映射文件 当一切准备就绪后,利用若依自带的代码生成功能来构建必要的Java类和其他资源文件。如果发现某些方法名被标记为错误(即带有红色波浪线下划线),这可能是因为相应的Mapper XML文件内缺少匹配的SQL语句。此时可以通过IDE提供的辅助工具解决此问题:只需选中这些有问题的方法名,并按下`Alt+Enter`组合键;接着从弹出菜单里挑选用于自动生成对应SQL声明的选项即可迅速修复这个问题[^1]。 ```xml <!-- Mapper XML 中新增加的 SQL 语句 --> <select id="selectOrderDetailsByOrderId" parameterType="int" resultType="com.ruoyi.project.system.domain.OrderDetail"> SELECT * FROM order_detail WHERE order_id = #{orderId} </select> ``` 通过以上步骤,便可以在若依框架环境中顺利实现主子表结构下的代码自动化生产过程。这样仅提高了开发效率,还减少了手动编写重复性代码的工作量。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值