商品添加(头歌)

第1关:添加商品

任务描述

本关任务:实现添加商品功能。

相关知识

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

  1. 添加商品;
  2. 功能实现。
添加商品

顾名思义,就是添加一个新的商品,如下图:

商品添加

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

功能实现
  1. dao 层添加数据库:
     
      
    1. package com.lxc.dao;
    2. import com.lxc.entity.Product;
    3. import org.apache.ibatis.annotations.Insert;
    4. import org.springframework.stereotype.Repository;
    5. @Repository
    6. public interface ProductDao {
    7. //将 product 对象中的数据 insert into 到数据库
    8. @Insert("insert into product(product_name,category_id,product_title,product_intro,product_picture" +
    9. ",product_price,product_selling_price," +
    10. "product_num,product_sales,status) value(#{product_name},#{category_id},#{product_title},#{product_intro}" +
    11. ",#{product_picture}" +
    12. ",#{product_price},#{product_selling_price},#{product_num},#{product_sales},#{status})")
    13. int addProduct(Product product);
    14. }
  2. service 层:
     
      
    1. public interface ProductService {
    2. //定义接口
    3. int addProduct(Product product);
    4. }
    5. public int addProduct(Product product) {
    6. //调用 dao 层方法并返回结果集
    7. return productDao.addProduct(product);
    8. }
  3. controller 层:
     
      
    1. @RequestMapping(value = "/addProduct")
    2. public int addProduct(@RequestBody Product product){
    3. //调用 service 层方法并返回结果集
    4. return productService.addProduct(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_name":"好东西",
  3. "category_id":"1",
  4. "product_title":"这是个好东西",
  5. "product_intro":"这是个好东西",
  6. "product_picture":"图片",
  7. "product_price":"33.33",
  8. "product_selling_price":"22.4",
  9. "product_num":"11",
  10. "product_sales":"1",
  11. "status":"1"
  12. }

预期输出: 1


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

ProductDao.java
package com.lxc.dao;
import com.lxc.entity.Product;  
import org.apache.ibatis.annotations.Insert;  
import org.springframework.stereotype.Repository;  
@Repository  
public interface ProductDao {  
    //向商品表中添加数据  
    /**************************Begin**************************/  
    @Insert("insert into product(product_name,category_id,product_title,product_intro,product_picture" +
         ",product_price,product_selling_price," +
         "product_num,product_sales,status) value(#{product_name},#{category_id},#{product_title},#{product_intro}" +
         ",#{product_picture}" +
         ",#{product_price},#{product_selling_price},#{product_num},#{product_sales},#{status})")
 int addProduct(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 addProduct(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  
    Page<Product> page;  
    @Autowired  
    private ProductDao productDao;  
    //调用 dao 层添加商品方法并返回结果集  
    /**************************Begin**************************/  
    @Override  
    public int addProduct(Product product) {  
        return productDao.addProduct(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  
     */  
    //调用 sevice 接口添加商品方法并返回结果集  
    /**************************Begin**************************/  
    @RequestMapping(value = "/addProduct")  
    public int addProduct(@RequestBody Product product){  
         return productService.addProduct(product);
    }  
    /**************************Begin**************************/  
}   
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;
}

加油哦,同学们!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现将商品添加至购物车的功能,可以使用HTML表单元素和JavaScript来实现。 首先,我们需要在页面上添加一个表单,让用户填写商品数量、选择商品型号等信息。表单中应该包含一个“添加至购物车”的按钮,当用户点击该按钮时,JavaScript代码会将表单数据提交给服务器,由服务器来处理购物车添加操作。 以下是一个简单的示例: ``` <form id="add-to-cart-form"> <label for="quantity">数量:</label> <input type="number" id="quantity" name="quantity" min="1" value="1"> <label for="size">尺寸:</label> <select id="size" name="size"> <option value="S">S</option> <option value="M">M</option> <option value="L">L</option> <option value="XL">XL</option> </select> <button type="submit" id="add-to-cart-btn">添加至购物车</button> </form> ``` 在JavaScript中,我们可以使用`XMLHttpRequest`对象来发送HTTP请求,将表单数据提交给服务器。以下是一个简单的示例: ``` const form = document.getElementById("add-to-cart-form"); const btn = document.getElementById("add-to-cart-btn"); btn.addEventListener("click", () => { const xhr = new XMLHttpRequest(); xhr.open("POST", "/add-to-cart"); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(new FormData(form)); }); ``` 在这个示例中,我们使用了`addEventListener`方法来为“添加至购物车”按钮添加了一个点击事件监听器。当用户点击按钮时,JavaScript代码会创建一个`XMLHttpRequest`对象,并使用`open`方法打开一个POST请求,将表单数据提交给服务器。然后,我们使用`setRequestHeader`方法设置请求头,将表单数据编码为URL参数,并使用`send`方法发送HTTP请求。最后,服务器会返回一个响应,我们可以在JavaScript中处理该响应,例如更新购物车数量等信息。 需要注意的是,这只是一个简单的示例,实际上购物车功能的实现还需要考虑很多其他因素,例如安全性、数据传输加密、商品库存管理等。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值