2.若依前后端分离版第一个增删查改

1.介绍

若依提供了代码生成功能,单表的CRUD可以直接用若依框架提供的代码生成进行创建。

2.实现

2.1 在数据库创建业务表test_teacher

2.2 生成代码

运行系统,进入菜单系统工具-》代码生成,点击导入按钮,选择需要生成代码的表进行导入,点击确认。然后导入之后,列表后面会有一个【生成代码】的按钮,点击即可下载生成的代码。

2.3 解压下载代码压缩包,移动至项目的对应位置

按照代码文件夹里面的路径,将对应的代码文件拖动至对应的项目文件夹即可,比如 ruoyi\main\resources\mapper\system\TestTeacherMapper.xml

拖动至项目 ruoyi-system\src\main\resources\mappersystem 目录即可。前端JS和vue文件同理。

2.4 去掉接口的权限认证

因为是测试demo,为了方便起见,可以将服务端接口取消权限认证,及在控制器类 和各个API方法上添加注解:@Anonymous

2.5 将后端接口加入到Swagger中

在接口控制器中引入包

java 复制代码
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

在控制器类上添加注解 @Api

java 复制代码
@Api
@RestController
@RequestMapping("/system/teacher")
@Anonymous
public class TestTeacherController extends BaseController

在各个接口方法上添加Swagger注释: @ApiOperation("导出测试_教师列表")

java 复制代码
  /**
     * 查询测试_教师列表
     */
    @ApiOperation("查询测试_教师列表")
  //  @PreAuthorize("@ss.hasPermi('system:teacher:list')")
    @GetMapping("/list")
    @Anonymous

2.6 在框架里面添加菜单

将文件拖动好之后,进入项目框架菜单系统管理->菜单管理,添加菜单项:

2.7 刷新界面出现菜单

添加完菜单后,刷新一下界面或者重新登录一下,用admin账号登录,便会出现菜单,功能开发完成。

3. 注意点

3.1 后端接收不到入参

如果后端的接收参数的实体的首字母是大写,那么生成的前端字段首字母也是大写,这个时候后端接接收不到参数了,因为 JavaBean规范就是规定必须使用驼峰命名法。

解决方法两种:

第一种:把前端的入参字段首字母改成小写。

第二种:在后端实体的字段上面加上注解 @JsonProperty("xxxx")

java 复制代码
    /** 课程编码 */
    @Excel(name = "课程编码")
    @JsonProperty("CourseCode")
    private String CourseCode;

3.2 自动生成的代码权限名称一致

可能会出现表名后缀一致的情况,这个是时候自动生成的代码,权限名称会一致,导致项目报错,修改接口的路径和接口方法的权限名称即可。

java 复制代码
   @RequestMapping("/system/teacherlinkcourse")
   @PreAuthorize("@ss.hasPermi('system:teacherlinkcourse:remove')")

3.3其他错误

3.3.1 There is no getter for property named 'CreateTime'

自动创建代码的数据库映射表格实体会集成BaseEntity,没有创建Createtime字段,需要手动在自己的实体类里面加一下缺少的字段。

java 复制代码
    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date CreateTime;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date UpdateTime;
相关推荐
上海懒图科技8 小时前
工厂厂区电子地图定位导航:厂区人车精准定位,安全合规双保障
前端·arcgis·vue
卋罖7503 天前
Razor 视图 + JavaScript + Vue/iView 组件实现的表格自定义列
javascript·vue·iview·razor视图
无所谓^_^6 天前
个人健康管理系统 | Springboot3 | Vue3
java·vue·毕业设计·springboot·课程设计·毕设·前后端分离
ss2736 天前
不用向量库,我用 MySQL 跑通了蔬菜 RAG--基于 RuoYi-AI 的蔬菜种植知识库 + 智能咨询系统,普通开发机就能跑
数据库·人工智能·智慧农业·ruoyi·知识库·rag
在努力的前端小白7 天前
基于FastAPI+LangChain+LangGraph+Agent+多模态的AI Agent 有渔渔具网站
人工智能·langchain·vue·fastapi
sun_weitao7 天前
用 FastAPI + MQTT 做一个 ESP32最小化跑通示例
中间件·vue·fastapi
莫晓燚8 天前
阿里云若依项目部署与日志采集---实战
运维·数据库·redis·阿里云·ruoyi
莫晓燚9 天前
双机部署若依 (RuoYi‑Vue) 传统环境部署---实战
linux·运维·数据库·redis·mysql·nginx·ruoyi
汤米粥11 天前
2026年主流前端技术框架
vue·react·elementplus·tailwind css·angular‌·svelte‌·bootstrap‌
codigger11 天前
Vue nextTick 到底在等什么?一篇讲透原理与那些年踩过的坑
程序员·vue·编程·异步更新·#人工智能