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;
相关推荐
YWL19 小时前
OpenLayers导出功能:地图截图+GeoJSON导出完整方案,从Canvas合并到PDF生成
前端·vue·openlayers
上单带刀不带妹19 小时前
小程序图片缓存问题:时间戳和版本号解决图片不更新
缓存·小程序·vue·uniapp
wxwx_bscxy3221 天前
NodeJS 高校学业预警系统10551
mysql·node.js·vue·高校学业预警
爱折腾的编程老炮2 天前
潮玩品牌自建抽盒机小程序——商城 + 抽盒 + 一番赏 + 会员 + 社区,一套代码怎么搭
spring boot·小程序·vue·mybatis·uniapp
蜡台3 天前
ux-camera 跨平台相机组件
数码相机·vue·uniapp·camera·nvue·取景框
新中地GIS开发老师4 天前
WebGIS开发入门 | 从 Web 开发到地图开发,差别在哪儿?
前端·vue·webgis
JavaEdge.6 天前
scoped 样式与 data-v-* 属性选择器(写给 Javaer)
开发语言·vue
sunphp开发者6 天前
明灯智慧地图导览系统制作教程
vue·php·uniapp·js·贴图
南城以南溫暖如初1477 天前
社交裂变商城系统设计与实战开发指南
java·spring boot·mysql·vue·mybatis
南城以南溫暖如初1477 天前
分享返现商城系统开发实战:技术架构与运营经验指南
java·spring boot·mysql·架构·vue·mybatis