商品修改(头歌)

第1关:商品修改

任务描述

本关任务:实现修改商品功能。

相关知识

为了完成本关任务,你需要掌握:

  1. 修改商品;
  2. 功能实现。
修改商品

顾名思义,就是修改一个商品,如下图:

商品添加

用户在前端输入数据提交到服务器,如果数据没有问题服务器就将数据修改到数据库。

功能实现
  1. dao 层修改数据库中商品信息:
     
      
    1. @Update("update product set product_name=#{product_name},category_id=#{category_id}," +
    2. "product_title=#{product_title},product_intro=#{product_intro},product_picture=#{product_picture}," +
    3. "product_price=#{product_price},product_selling_price=#{product_selling_price},product_num=#{product_num}," +
    4. "product_sales=#{product_sales},status=#{status} where product_id=#{product_id}")
    5. int editProduct(Product product);
  2. service 层:
     
      
    1. public interface ProductService {
    2. //定义接口
    3. int editProduct(Product product);
    4. }
    5. public int editProduct(Product product) {
    6. //调用 dao 层接口并返回结果集
    7. return productDao.editProduct(product);
    8. }
  3. controller 层:
     
      
    1. @RequestMapping(value = "/editProduct")
    2. public int editProduct(@RequestBody Product product){
    3. //调用 service 接口修改商品方法并返回结果集
    4. return productService.editProduct(product);
    5. }
  4. 数据库如下:
    字段名称类型备注
    product_idint(11)NOT NULL AUTO_INCREMENT'商品id'
    product_namechar(100)NOT NULL'商品名'
    category_idint(11)NOT NULL'类型id'
    product_titlechar(30)NOT NULL'商品标题'
    product_introtextNOT NULL'商品描述'
    product_picturechar(200)DEFAULT NULL'商品图片'
    product_pricedecimal(10,2)NOT NULL'商品价格'
    product_selling_pricedecimal(10,2)NOT NULL'商品售价'
    product_numint(11)NOT NULL'商品存量'
    product_salesint(11)NOT NULL'商品销售数量'
    statusint(11)DEFAULT NULL'商品状态'

编程要求

在右侧编辑器 ProductDao.java、ProductService.java 、ProductServiceImpl.java、ProductController.java 文件里 Begin-End 处根据提示补充代码。

测试说明

平台会对你编写的代码进行测试:发送请求检验结果集是否正确。 预期输入:

 
  1. {
  2. "product_id":"1",
  3. "product_name":"Redmi K30",
  4. "category_id":"1",
  5. "product_title":"120Hz流速屏,全速热爱",
  6. "product_intro":"120Hz高帧率流速屏/ 索尼6400万前后六摄 / 6.67小孔径全面屏 / 最高可选8GB+256GB大存储 / 高通骁龙730G处理器 / 3D四曲面玻璃机身 / 4500mAh+27W快充 / 多功能NFC",
  7. "product_picture":"public/imgs/phone/Redmi-k30.png",
  8. "product_price":"2000",
  9. "product_selling_price":"1499",
  10. "product_num":"100",
  11. "product_sales":"1",
  12. "status":"1"
  13. }

预期输出: 1


开始你的任务吧,祝你成功!

ProductDao.java
package com.lxc.dao;

import com.lxc.entity.Product;
import org.apache.ibatis.annotations.Update;
import org.springframework.stereotype.Repository;
@Repository
public interface ProductDao {
    //修改用户表中的数据
    //******************************Begin******************************/
    @Update("update product set product_name=#{product_name},category_id=#{category_id}," +
         "product_title=#{product_title},product_intro=#{product_intro},product_picture=#{product_picture}," +
         "product_price=#{product_price},product_selling_price=#{product_selling_price},product_num=#{product_num}," +
         "product_sales=#{product_sales},status=#{status} where product_id=#{product_id}")
 int editProduct(Product product);
    //******************************End******************************/
}
ProductService.java
package com.lxc.service;

import com.lxc.entity.Product;
import org.springframework.stereotype.Component;
@Component
public interface ProductService {
    //定义修改商品信息 service 接口
    //******************************Begin******************************/
     int editProduct(Product product);
    //******************************End******************************/
}
ProductServiceImpl.java
package com.lxc.service.impl;
import com.lxc.dao.ProductDao;
import com.lxc.entity.Page;
import com.lxc.entity.Product;
import com.lxc.service.ProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;



@Service("productService")
public class ProductServiceImpl implements ProductService {

    @Autowired
    private ProductDao productDao;

    @Override
    //调用 dao 层修改商品信息方法并返回结果集
    //******************************Begin******************************/
    public int editProduct(Product product) {
        return productDao.editProduct(product);
    }
    //******************************End******************************/
}
ProductController.java
package com.lxc.controller;

import com.lxc.entity.Page;
import com.lxc.service.ProductService;
import com.lxc.entity.Product;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping(value = "/product")
public class ProductController {
    @Autowired
    Page<Product> page;
    @Autowired
    private ProductService productService;

    /**
     * 添加商品信息
     * @param product
     * @return
     */
    //调用 service 层修改用户信息方法并返回结果集
    //******************************Begin******************************/
@RequestMapping(value = "/editProduct")
 public int editProduct(@RequestBody Product product){
     //调用 service 接口修改商品方法并返回结果集
     return productService.editProduct(product);
 }
    //******************************End******************************/
}
Product.java
package com.lxc.entity;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;


@Data
public class Product implements Serializable {

    private int product_id;
    private String product_name;
    private int category_id;
    private String product_title;
    private String product_intro;
    private String product_picture;
    private BigDecimal product_price;   //原价
    private BigDecimal product_selling_price;    //售价
    private int product_num;
    private int product_sales;
    private int status;
}

加油哦,同学们!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值