- 前言
- 全笔记链接(链接给出)
- 正式部分
- 29 平台属性-规格参数新增与VO
- 1 VO简介
- 2 问题所在
- 3解决方案
- 29 平台属性-规格参数列表
- 总结
前言
谷粒商城的基础部分3/3
全笔记链接(链接给出)谷粒商城笔记(详细版) IDEA2021 基础篇(1/3).
谷粒商城笔记(详细版) IDEA2021 基础篇(2/3).
ES6 VUE 基础篇前端笔记
谷粒商城笔记(详细版) IDEA2021 基础篇(3/3).
正式部分 29 平台属性-规格参数新增与VO 1 VO简介
VO viewobject 就是接受页面传来的数据 封装对象
或者将业务处理完成的对象封装成页面要用的数据
我们前端在新增规格参数时还没有把传来的groupid
传到属性 分组 realation表当中
现在我们来进行代码编写
我们首先来到attr实体类
发现里面没有Groupid字段
如果新增一个字段并加上 @TableField(exist = false)
会和数据库不对应 并且很不规范
创建一个attrVo来接受前端传来数据
其中新建一个属性
因为其不和数据库绑定 所以不用加很多数据库注解
package com.atguigu.gulimall.product.vo;
import lombok.Data;
@Data
public class AttrVo {
private Long attrId;
private String attrName;
private Integer searchType;
private Integer valueType;
private String icon;
private String valueSelect;
private Integer attrType;
private Long enable;
private Long catelogId;
private Integer showDesc;
private Long attrGroupId;
}
我们的attr实体类属性就和数据库进行对应 不再进行更改
1 controller编写接受vo
@RequestMapping("/save")
//@RequiresPermissions("product:attr:save")
public R save(@RequestBody AttrVo attr){
attrService.saveAttr(attr);
return R.ok();
}
2 service
package com.atguigu.gulimall.product.service; import com.atguigu.gulimall.product.vo.AttrVo; import com.baomidou.mybatisplus.extension.service.IService; import com.atguigu.common.utils.PageUtils; import com.atguigu.gulimall.product.entity.AttrEntity; import java.util.Map; public interface AttrService extends IService{ PageUtils queryPage(Map params); void saveAttr(AttrVo attr); }
2 serviceimpl
@Transactional
@Override
public void saveAttr(AttrVo attr) {
//创建一个dao实体类
AttrEntity attrEntity = new AttrEntity();
// attrEntity.setAttrName(attr.getAttrName());
//把传来的基本数据传给dao实体类
BeanUtils.copyProperties(attr,attrEntity);
//1、保存基本数据
this.save(attrEntity);
//2、保存关联关系
AttrAttrgroupRelationEntity relationEntity = new AttrAttrgroupRelationEntity();
relationEntity.setAttrGroupId(attr.getAttrGroupId());
relationEntity.setAttrId(attrEntity.getAttrId());
relationDao.insert(relationEntity);
}
最终测试
发现关系增加到了表中
基础篇完结篇



