前言
若依框架是国内最流行的Spring Boot后台管理系统之一,其强大的代码生成器可以让我们告别繁琐的增删改查开发,只需几步操作就能生成完整的业务代码。本文将完整记录使用若伊代码生成器完成单表CURD的全流程,并分享实际开发中遇到的各种"坑"及解决方案。
一、准备工作
在开始之前,请确保以下环境都已就绪:
- ✅ Ruoyi-Vue 项目能正常启动(前端、后端、数据库都已连通)
- ✅ 准备好数据库管理工具(如 Navicat)
- ✅ 准备好一个用于测试的数据库表(本文以学生表
my_student为例)
二、核心步骤详解
第一步:创建数据库表并添加数据
打开 Navicat 等数据库管理工具,新建一张表,添加所需字段(如:学生姓名、学号、年龄等),并插入几条测试数据。
💡 重要提示:务必给表和每个字段添加清晰的中文注释!这将直接影响生成页面的字段显示。
第二步:在若依中导入表
1.启动 Ruoyi-Vue 项目并登录系统
2.找到「系统工具」→「代码生成」功能
3.点击「导入」,勾选刚才创建的my_student表,确认导入
第三步:填写生成配置信息
找到导入的表记录,点击「编辑」按钮进行配置,需要填写三部分:
| 配置项 | 说明 | 示例 |
|---|---|---|
| 基本信息 | 表名、作者等,保留默认即可 | 作者改为自己名字 |
| 字段信息 | 配置字段显示方式、是否必填、是否可查询等 | 通常保留默认 |
| 生成包路径 | 后端Java包名 | com.ruoyi.student |
| 生成模块名 | 影响后端代码存放目录 | student |
| 生成业务名 | 构成请求路径,建议与模块名不同 | studentInfo |
| 生成父菜单名 | 新功能挂载位置 | 系统工具 |
第四步:下载生成的代码文件
确认配置无误后,点击「生成」按钮,系统会下载一个压缩包,包含:
main/- 后端代码vue/- 前端代码.sql- 菜单配置文件
第五步:拷贝代码并导入SQL
5.1 执行SQL文件(必须先执行!)
用数据库工具打开压缩包里的.sql文件并执行,这会将新功能入口写入系统菜单表。
5.2 拷贝后端代码
| 文件类型 | 压缩包路径 | 应放置位置 |
|---|---|---|
| Java核心代码 | main/java/... | ruoyi-admin/src/main/java/com/ruoyi/ |
| Mapper XML | main/resources/mapper/... | ruoyi-admin/src/main/resources/mapper/ |
| Controller | main/java/... | ruoyi-admin/src/main/java/com/ruoyi/web/controller/ |
⚠️特别注意:Controller 必须放在
ruoyi-admin模块的 controller 包下!
5.3 拷贝前端代码
| 文件类型 | 压缩包路径 | 应放置位置 |
|---|---|---|
| 接口文件 | vue/api/... | 前端src/api/目录 |
| 页面文件 | vue/views/... | 前端src/views/system/student/目录 |
第六步:重新运行并测试
重启后端服务(前端一般会自动热更新),刷新页面即可看到新功能入口。测试增删改查功能是否正常。
三、实战问题汇总与解决方案
问题一:Controller 重复冲突
报错信息:
Annotation-specified bean name 'myStudentController' conflicts with existing原因:Controller 文件被放到了两个不同的包路径。
解决:删除com.ruoyi.student.controller下的重复文件,只保留com.ruoyi.web.controller.student下的 Controller。
问题二:页面显示${{comment}}占位符
原因:数据库表没有添加注释,导致代码生成器无法获取字段中文描述。
解决:
1.在 Navicat 中给表和字段添加中文注释
2.在若依中删除原导入记录,重新导入表
3.重新生成代码并覆盖
问题三:菜单重复出现
原因:多次生成导致 SQL 被重复执行,菜单数据重复插入。
解决:
1.进入「系统管理」→「菜单管理」
2.展开重复菜单,先删除子项(新增、修改、删除等按钮)
3.再删除父级菜单,只保留一个
问题四:页面打不开,提示Cannot find module
报错信息:
Error: Cannot find module './system/student/index'原因:前端文件放置路径与系统记录的路径不一致。
解决:
将 Vue 页面文件夹移动到src/views/system/student/目录下。
问题五:接口 404
报错信息:
/dev-api/system/student/list:1 404 (Not Found)原因:Controller 的请求映射路径与前端请求地址不匹配。
解决:修改 Controller 的@RequestMapping注解为/system/student,与前端请求路径保持一致。
四、总结
若依代码生成器确实能极大提升开发效率,但在使用过程中需要注意:
1.数据库注释- 一定要写,否则页面显示占位符
2.文件位置- Controller 必须放在 ruoyi-admin 模块的 controller 包下
3.菜单管理- 每次重新生成前先删除旧记录,避免菜单重复
4.路径匹配- 前后端路径要保持一致,特别是模块名和业务名
遇到问题不要慌,仔细看报错信息,大部分问题都能快速定位解决。祝你开发顺利!