当前位置: 首页 > news >正文

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中

在接口控制器中引入包

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;

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

@Api
@RestController
@RequestMapping("/system/teacher")
@Anonymous
public class TestTeacherController extends BaseController

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

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

2.6 在框架里面添加菜单

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

在这里插入图片描述

2.7 刷新界面出现菜单

添加完菜单后,刷新一下界面或者重新登录一下,用admin账号登录,便会出现菜单,功能开发完成。
在这里插入图片描述

3. 注意点

3.1 后端接收不到入参

如果后端的接收参数的实体的首字母是大写,那么生成的前端字段首字母也是大写,这个时候后端接接收不到参数了,因为 JavaBean规范就是规定必须使用驼峰命名法。
解决方法两种:
第一种:把前端的入参字段首字母改成小写。
第二种:在后端实体的字段上面加上注解 @JsonProperty(“xxxx”)

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

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

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

   @RequestMapping("/system/teacherlinkcourse")@PreAuthorize("@ss.hasPermi('system:teacherlinkcourse:remove')")

3.3其他错误

3.3.1 There is no getter for property named ‘CreateTime’

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

/** 创建时间 */@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;
http://www.lryc.cn/news/119793.html

相关文章:

  • javaSE_2.2——【方法的介绍】
  • 【02】基础知识:typescript数据类型
  • DIP: NAS(Neural Architecture Search)论文阅读与总结(双份快乐)
  • AI:02-基于深度学习的动物图像检索算法的研究
  • IDEA项目实践——Spring集成mybatis、spring当中的事务
  • 6-Ngnix配置反向代理
  • 构建 LVS-DR 群集、配置nginx负载均衡。
  • 【UE4的垃圾回收】
  • nginx负载均衡的几种配置方式介绍
  • uniapp发布插件显示components/xxx文件没找到,插件格式不正确
  • Kubernetes(K8s)入门
  • [前端系列第3弹]JS入门教程:从零开始学习JavaScript
  • html 计算器界面
  • 性能测试工具——LoadRunner(1)
  • 安科瑞物联网表在虚拟电厂的应用
  • XSS和CSRF
  • 2.物联网LWIP网络
  • tomcat多实例与动静分离
  • K8S下SpringCloud应用无损下线
  • CEC2013(MATLAB):遗传算法(Genetic Algorithm,GA)求解CEC2013的28个函数
  • Linux tar包安装 Prometheus 和 Grafana
  • 新一代分布式融合存储,数据场景All In One
  • CGroupAndroid实践篇】三、Android CGroup控制组初始化
  • lscpu的各个参数是什么意思?
  • Linux学习————redis服务
  • 【C++手撕系列】——设计日期类实现日期计算器
  • FFmpeg常见命令行(四):FFmpeg流媒体
  • ftp访问ubuntu文件系统
  • 网络防御(6)
  • 【Nginx15】Nginx学习:HTTP核心模块(十二)内嵌变量