4.3 修改规格
4.3.1 获取规格数据
实现思路:通过规格 ID,到后端查询规格和规格选项列表,然后通过组合实体类返回结果
(1)修改 pinyougou-sellergoods-interface 的 SpecificationService.java

/**

*根据 ID 获取实体

*@param id

*@return

*/

public Specification findOne(Long id);
(2)修改 pinyougou-sellergoods-service 的 SpecificationServiceImpl.java

/**

*根据 ID 获取实体

*@param id

*@return

*/ @Override
public Specification findOne(Long id){

//查询规格

TbSpecification tbSpecification = specificationMapper.selectByPrimaryKey(id);
//查询规格选项列表

TbSpecificationOptionExample example=new TbSpecificationOptionExample(); Criteria criteria = example.createCriteria();
criteria.andSpecIdEqualTo(id);//根据规格 ID 查询

List<TbSpecificationOption> optionList = specificationOptionMapper.selectByExample(example);
//构建组合实体类返回结果

Specification spec=new Specification(); spec.setSpecification(tbSpecification); spec.setSpecificationOptionList(optionList); return spec;
}
(3)修改 pinyougou-manager-web 的 SpecificationController.java

@RequestMapping("/findOne")

public Specification findOne(Long id){ return specificationService.findOne(id);
(4)修改页面 specification.html 中列表的修改按钮

<button type="button" class="btn bg-olive btn-xs" data-toggle="modal" data-target="#editModal" ng-click="findOne(entity.id)">修改</button>
4.3.1 保存修改结果
(1)修改 pinyougou-sellergoods-interface 的 SpecificationService.java

/**

  • 修 改

*/

public void update(Specification specification);
(2)修改 pinyougou-sellergoods-service 的 SpecificationServiceImpl.java

/**

  • 修 改

*/ @Override
public void update(Specification specification){

//保存修改的规格specificationMapper.updateByPrimaryKey(specification.getSpecification());//
保存规格

//删除原有的规格选项
TbSpecificationOptionExample example=new TbSpecificationOptionExample(); com.pinyougou.pojo.TbSpecificationOptionExample.Criteria criteria =
example.createCriteria();

criteria.andSpecIdEqualTo(specification.getSpecification().getId());//指定规格 ID 为条件

specificationOptionMapper.deleteByExample(example);//删除

//循环插入规格选项
for(TbSpecificationOption specificationOption:specification.getSpecificationOptionList()){

specificationOption.setSpecId(specification.getSpecification().getId()); specificationOptionMapper.insert(specificationOption);
[font=微软雅黑]}

}
(3)修改 pinyougou-manager-web 的 SpecificationController.java

/**

*修改

*@param specification

*@return

*/ @RequestMapping("/update")
public Result update(@RequestBody Specification specification){

try {

specificationService.update(specification);

return new Result(true, "修改成功");

} catch (Exception e) { e.printStackTrace();
return new Result(false, "修改失败");

}

}
4.5.1 后端代码
修改 pinyougou-sellergoods-service 的 SpecificationServiceImpl.java

转载于:https://blog.51cto.com/13517854/2155334

Java之品优购课程讲义_day03(6)相关推荐

  1. Java之品优购课程讲义_day19(6)

    品优购-秒杀下单 4.1 需求分析 商品详细页点击立即抢购实现秒杀下单,下单时扣减库存.当库存为 0 或不在活动期 范围内时无法秒杀. 4.2 后端代码 4.2.1 服务接口层 修改 pinyougo ...

  2. Java之品优购课程讲义_day05(8)

    5.1 最简单的 FastDFS架构 5.1 FastDFS安装 FastDFS 安装步骤非常繁琐,我们在课程中不做要求.已经提供单独的<FastDFS 安装部署文档>供学员们课后阅读. ...

  3. Java之品优购课程讲义_day05(4)

    电商概念及表结构分析 2.1 电商概念 SPU与 SKU SPU = Standard Product Unit ( 标 准 产 品 单 位 ) SPU 是商品信息聚合的最小单位,是一组可复用.易检索 ...

  4. Java之品优购课程讲义_day01(8)

    4.1.1 商家管理后台 构建 web 模块 pinyougou-shop-web 与运营商管理后台的构建方式类似.区别: (1)定义 tomcat 的启动端口为 9102 (2)springmvc. ...

  5. Java之品优购课程讲义_day17(2)

    结算页-收件人地址选择 2.1 需求与数据库分析 2.1.1 需求描述 在结算页实现收件人地址选择功能 2.1.2 数据库结构分析 Tb_address 为地址表 2.1 准备工作 2.1.1 生成代 ...

  6. Java之品优购课程讲义_day16(2)

    2.1 后端控制层 实现思路: (1)从 cookie 中取出购物车 (2)向购物车添加商品 (3)将购物车存入 cookie pinyougou-cart-web 工程新建 CartControll ...

  7. Java之品优购课程讲义_day20(5)

    资源过滤与变量替换 修改 pom.xml ,在 build 节点中添加如下配置 <filters><filter>src/main/resources/filters/db_$ ...

  8. Java之品优购课程讲义_day20(2)

    秒杀商品列表的增量更新 每分钟执行查询秒杀商品表,将符合条件的记录并且缓存中不存在的秒杀商品存入缓存 /*** 刷新秒杀商品 */@Scheduled(cron="0 * * * * ?&q ...

  9. Java之品优购课程讲义_day08(7)

    4.1.1 Hash类型操作 创建测试类 TestHash (1)存入值 @Test public void testSetValue(){ redisTemplate.boundHashOps(&q ...

  10. Java之品优购课程讲义_day12(2)

    1.1 FTL指令 1.1.1 assign指 令 此指令用于在页面上定义一个变量 (1)定义简单类型: <#assign linkman="周先生"> 联系人:${l ...

最新文章

  1. 毕业设计:基于Web实现多用户宿舍管理系统
  2. Java学习笔记--StringTokenizer的使用
  3. hibernate教程--常用配置和核心API详解
  4. 学习C#从哪些方面去学习,才能全面掌握基础知识
  5. php:自定义session
  6. 核心Java面试答案不正确
  7. Oracle做ip连接限制
  8. java坦克大战源码下载
  9. 接口文档生成工具Swagger2的使用
  10. mybatis中#{}和${}传参的区别
  11. 计算机基础win7桌面操作,windows7基本操作方法(零基础的人教学)-win7教程
  12. 第四季-专题8-LINUX系统调用
  13. ubuntu11.10 sources.list 资源
  14. CentOS6.9安装AliSQL
  15. 51单片机简单计算器
  16. layui的富文本编辑器中图片的面积大小问题
  17. 微信服务器维护中什么意思,公众号运营维护是什么意思,微信公众号的日常运营与维护技巧!...
  18. 极值点、驻点、拐点、关系点
  19. python里char什么意思_编程中“char”是什么意思?
  20. 系统集成项目管理工程师高频考点(第六章)

热门文章

  1. LNMP下Redis介绍以及安装(Linux)
  2. tomcat优化实例
  3. Java中上转型对象数组
  4. SparkSQL UDF使用方法与原理详解
  5. hibernate 批量插入数据
  6. 解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误[原创]
  7. 对于.net开发的程序谷歌输入法输入优于搜狗
  8. idea中ssm自动配置
  9. codeforces590b//Chip 'n Dale Rescue Rangers//Codeforces Round #327 (Div. 1)
  10. 出师表 / 前出师表 作者:诸葛亮