若依官方代码生成的文档–> https://doc.ruoyi.vip/ruoyi/document/htsc.html#%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90
官方文档太过简略,对新手不友好
单表增删改查
1.表生成
设计表
表的设计一定要详细完善,考虑周到,这样不用返工
插入示例数据
2.目录生成
2.1菜单生成
路由地址–>我也不知道干啥用
2.2编辑代码生成配置
在系统工具代码生成中,点击导入,导入对应的数据表,进入编辑页面
字段信息这边,如果在创建数据表就已经完善,这边便无需修改
生成模板–>单表的增删改查
生成包路径–>对应自己写的代码的包路径
生成模块名–>前端的模块名,与后端无关
生成业务名–>后端controller类上@RequestMapping 请求路径
生成功能名–>用作类描述
上级菜单–>选生图管理
2.3代码导入执行
生成的文件
sql脚本在sys_menu中添加菜单和按钮
将这些代码粘贴到对应位置,重启前端和后端服务,并执行sql语句.
执行会报错
1 | The injection point has the following annotations: |
是mapper层没有加注解@Mapper,加上即可
最后运行代码看到效果
2.4前端优化
在自动生成代码的基础上,可以做一些自己的修改
这里我对显示url不满意
使用el-image组件,将图片url预览出来
3.代码详解
3.1后端代码
1 |
|
@RequestMapping(“/models”)
models便是上文提到过的模块业务名
SdModelsController继承了BaseController–>web层通用数据处理
方法上有@RequiresPermissions进行权限认
startPage() 设置请求分页数据
查询和搜索用了同一个方法,请求都是list,携带参数不同
SdModels sdModels
是由Spring自动创建并填充的,它从HTTP请求中获取数据,并通过Spring的自动数据绑定机制将这些数据注入到SdModels
对象中
3.2 sql脚本
1 | -- 菜单 SQL |
建立菜单用的
3.3前端代码
树表增删改查
1.表生成
2.目录生成
2.1编辑代码生成配置
2.2代码导入执行
代码导入步骤同单表.
效果如下
2.3前端优化
可见,树形的下拉分类已经实现,但是第一列显示父类id
修改index.vue
修改后效果如上
3.代码详解
查询list方法
handleTree 函数的作用是将平面结构的树形数组数据转换为嵌套的树形结构,写在/utils/ruoyi.js中
1 | /** |
变量解释
config: 用来存储函数内部使用的字段名称配置。
childrenListMap: 用来存储每个节点的子节点列表,键是父节点的 id,值是一个数组,包含了所有该父节点的直接子节点。
nodeIds: 用来存储所有节点的映射,键是节点的 id,值是节点对象。
tree: 用来存储最终的树结构根节点
原本使用父类id进行查询,只会返回儿子
修改查询的service层实现
1 | /** |
实体类Categories
1 | public class Categories extends TreeEntity |
Categories继承了TreeEntity,TreeEntity中有parentId属性
主子表增删改查
TODO
遇到了再说