【若依】代码生成详细教程(单表、主从表、树形表增删改查)

本文介绍了如何使用若依框架进行数据库表结构设计,包括单表、树形表和主从表的增删改查操作,以及如何配置代码生成器,自动生成对应模块的业务逻辑代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


教程演示使用的是——前后端分离的若依框架

修改代码生成配置

  • 单应用:编辑 ruoyi-admin 中 resources 目录下的 application.yml
  • 多模块:编辑 ruoyi-generator 中的 resources 目录下的 generator.yml

我这里修改的是 ruoyi-generator 中的 resources 目录下的 generator.yml

gen:
  # 作者 , 生成到类注释上
  author: cxy
  # 默认生成包路径 需改成自己的模块名称 
  packageName: com.ruoyi.storage
  # 自动去除表前缀,默认是false
  autoRemovePre: true
  # 表前缀(生成类名不会包含表前缀,多个用逗号分隔)
  tablePrefix: sys_

在这里插入图片描述

一、单表实现增删改查

  • 实现对仓库(storage)信息的增删改查
1. 新建数据库表结构
  • 注意:若依建表的字段需要加注释,注释就是生成页面的显示内容

在本地使用数据库管理工具执行下述sql语句

CREATE TABLE sys_storage (
  storage_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '仓库ID',
  storage_code VARCHAR(50) NOT NULL COMMENT '仓库编号',
  storage_name VARCHAR(100) NOT NULL COMMENT '仓库名称',
  chairman VARCHAR(100) COMMENT '负责人',
  phone VARCHAR(20) COMMENT '联系电话',
  position VARCHAR(255) COMMENT '仓库位置'
) COMMENT='仓库信息表';
2. 新建模块,解决项目依赖

在这里插入图片描述在这里插入图片描述

  • 在整个项目下的 pom.xml 中引入新建的模块

在这里插入图片描述

            <!-- 仓库模块-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>ruoyi-storage</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>
  • 同时在 ruoyi-admin 下的pom.xml中引入新建的模块:

在这里插入图片描述

    	<!--仓库模块-->
		<dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-storage</artifactId>
        </dependency>
  • 由于生成的代码会用到 ruoyi-common 中的内容,新建的模块需要引入 ruoyi-common 模块
    在这里插入图片描述
3. 启动项目,新建菜单

在这里插入图片描述

4. 导入数据表,自动生成代码

在这里插入图片描述

  • 点击编辑,切换到 生成信息,修改参数如下,生成模块名和生成业务名最好写不一样的,避免后续冲突。参数设置完毕,即可生成代码。

在这里插入图片描述
在这里插入图片描述

5. 将生成代码粘贴到对应的模块,执行生成的sql(用于生成菜单和按钮)
  • 把ruoyi-storage\src\main文件夹删掉。粘贴生成的代码包的main文件夹到 ruoyi-storage 下的src文件夹
    在这里插入图片描述
  • 把 api 和 views 下生成的代码 粘贴到 ruoyi-ui \ src \ api 和 ruoyi-ui \ src \ views
    在这里插入图片描述
  • 执行压缩包的 sql 文件到本地数据库即可
    在这里插入图片描述
6. 重新启动项目,即可实现增删改查

在这里插入图片描述

  • 在菜单管理,编辑相应菜单即可设置菜单图标

在这里插入图片描述

二、树形表实现增删改查

  • 树形表是一种数据库表结构,用于存储具有层级关系的数据,比如组织结构、分类目录、菜单等。

  • 这里以部门层级结构作为演示

  • 实现对部门(department)信息的增删改查

1. 新建数据库表结构
  • 注意:若依建表的字段需要加注释,注释就是生成页面的显示内容

在本地使用数据库管理工具执行下述sql语句

CREATE TABLE sys_department (
  department_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '部门ID',
  department_name VARCHAR(100) NOT NULL COMMENT '部门名称',
  parent_id INT COMMENT '上级部门ID,用于表示部门层级关系',
  chairman VARCHAR(100) COMMENT '部门负责人',
  remark TEXT COMMENT '备注信息'
) COMMENT='部门信息表';
2. 新建模块,解决项目依赖
  • 新建模块

在这里插入图片描述

  • 引入依赖

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3. 启动项目,新建菜单
  • 这里的路由地址即为下面的生成业务名称,两者要保持一致。

(和单表实现增删改查步骤一样,模块名需改为department)

4. 导入数据表,自动生成代码

在这里插入图片描述
在这里插入图片描述

5. 将生成代码粘贴到对应的模块,执行生成的sql(用于生成菜单和按钮)

在这里插入图片描述
在这里插入图片描述

  • 数据库工具执行sql文件到本地数据库即可
    在这里插入图片描述
6. 重新启动项目,即可实现增删改查
  • 树形结构还可用于分类、菜单。

在这里插入图片描述

三、主从表实现增删改查

1. 新建数据表
  • 主表 orders(订单信息表)
CREATE TABLE sys_orders (
  order_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '订单ID,唯一标识',
  user_name VARCHAR(100) NOT NULL COMMENT '用户名称',
  user_address VARCHAR(255) NOT NULL COMMENT '用户地址',
  cost DECIMAL(10, 2) NOT NULL COMMENT '订单总费用'
) COMMENT='订单信息表';
  • 从表 order_detail (订单详情表),order_id 与主表的 order_id 相关联。
CREATE TABLE sys_order_details (
  order_detail_id INT AUTO_INCREMENT PRIMARY KEY COMMENT '订单详情ID,唯一标识',
  order_id INT NOT NULL COMMENT '关联的订单ID',
  product_id INT NOT NULL COMMENT '产品ID',
  quantity INT NOT NULL COMMENT '产品数量',
  cost DECIMAL(10, 2) NOT NULL COMMENT '产品费用'
) COMMENT='订单详情表';
2. 新建模块,解决项目依赖

在这里插入图片描述
在这里插入图片描述

			<!-- 订单模块-->
            <dependency>
                <groupId>com.ruoyi</groupId>
                <artifactId>ruoyi-orders</artifactId>
                <version>${ruoyi.version}</version>
            </dependency>

在这里插入图片描述

		<!--订单模块-->
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-department</artifactId>
        </dependency>

在这里插入图片描述

<dependencies>
        <dependency>
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common</artifactId>
        </dependency>
    </dependencies>
3. 启动项目,新建菜单

在这里插入图片描述

4. 导入数据表,自动生成代码

在这里插入图片描述在这里插入图片描述

5. 将生成代码粘贴到对应的模块,执行生成的sql(用于生成菜单和按钮)

在这里插入图片描述
在这里插入图片描述

  • 数据库工具执行sql,将数据加到本地数据库中

在这里插入图片描述

6. 重新启动项目,即可实现增删改查

在这里插入图片描述

### 若依框架中主子表的功能及实现方式 若依框架支持通过代码生成器快速生成适用于主流技术栈(如 Spring Boot 和 MyBatis)的代码,其中包括单表、树表以及主子表(一对多关系)。以下是关于主子表功能及其具体实现方法的详细介绍。 #### 主子表的概念 主子表是一种常见的数据结构设计模式,在实际业务场景中广泛应用于处理一对多的关系。例如,订单与订单详情之间的关系就是一个典型的主子表模型。在若依框架中,可以通过配置生成器来定义这种关系,并自动生成相应的前端和后端代码[^1]。 #### 配置主子表的具体步骤 为了实现主子表功能,需要完成以下几个方面的配置: 1. **选择主表并指定模板** 在代码生成界面中,选中目标主表后点击【编辑】按钮,进入“生成信息”栏。将“生成模板”选项更改为“主子表”,此时系统会自动识别关联信息并显示子表列表[^4]。 2. **绑定子表及外键** 定义主表与其对应子表之间的映射关系。这一步骤的关键在于正确选择子表名称以及关联字段(通常是主表的主键作为外键存在于子表中)。确保两者之间的一对多逻辑清晰无误。 3. **调整字段属性** 对于每一个涉及的字段都需要仔细校验其描述、Java 类型、Java 属性以及其他高级特性设置。这些参数直接影响最终生成的实体类文件质量和用户体验效果[^5]。 4. **定制化需求补充** 如果某些特殊情况下还需要额外增加一些个性化设定,则可以在上述基础上进一步扩展。比如更改默认查询条件或者重新规划UI界面上组件布局形式等等[^3]。 #### 示例代码片段 下面给出一段简化版的 Java 实体类示例供参考学习如何表示主子表间联系: ```java // 主表实体类 OrderMaster.java @Entity @Table(name="order_master") public class OrderMaster { @Id private Long id; // 其他字段... } // 子表实体类 OrderDetail.java @Entity @Table(name="order_detail") public class OrderDetail { @Id private Long detailId; @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "orderId", referencedColumnName = "id") private OrderMaster orderMaster; // 其他字段... } ``` 以上仅展示了基本概念层面的内容架构;而在真实项目开发过程中还需考虑更多细节因素诸如事务管理机制、分页加载策略等方面优化性能表现等问题。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

"wink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值