1. 分析
新增商品1.1 数据库
相关的表:tb_item
、tb_item_desc
商品id应该是一串数字。可以使用毫秒+两位随机数生成一个id。
使用工具类:IDUtils.java
package com.taotao.utils;
import java.util.Random;
/**
* 生成ID的工具类
* Created by yvettee on 18-8-22.
*/
public class IDUtils {
/**
* 图片名生成
*/
public static String genImageName() {
//取当前时间的长整形值包含毫秒
long millis = System.currentTimeMillis();
//long millis = System.nanoTime();
//加上三位随机数
Random random = new Random();
int end3 = random.nextInt(999);
//如果不足三位前面补0
String str = millis + String.format("%03d", end3);
return str;
}
/**
* 商品id生成
*/
public static long genItemId() {
//取当前时间的长整形值包含毫秒
long millis = System.currentTimeMillis();
//long millis = System.nanoTime();
//加上两位随机数
Random random = new Random();
int end2 = random.nextInt(99);
//如果不足两位前面补0
String str = millis + String.format("%02d", end2);
long id = new Long(str);
return id;
}
}
1.2 页面
提交请求的url:/item/save
请求的参数:表单中的内容
1.3 DAO层
执行insert操作,可以使用逆向工程生成的代码
1.4 Service层
1、接收TbItem对象,String desc 商品描述两个参数。
2、在TbItem对象中补全属性,包括id、status、create、update。
3、调用Mapper的insert方法插入数据。
4、创建一个TbItemDesc对象,补全属性。
5、调用Mapper方法插入到商品描述表。
6、返回TaotaoResult对象。
参数:TbItem、String
返回值:TaotaoResult
@Override
public TaotaoResult createItem(TbItem tbItem, String desc) {
//生成商品ID
long itemId = IDUtils.genItemId();
tbItem.setId(itemId);
//商品状态:1--正常 2--下架 3--删除
tbItem.setStatus((byte) 1);
//创建时间和更新时间
Date date = new Date();
tbItem.setCreated(date);
tbItem.setUpdated(date);
//插入商品表
tbItemMapper.insert(tbItem);
//商品描述
TbItemDesc tbItemDesc = new TbItemDesc();
tbItemDesc.setItemId(itemId);
tbItemDesc.setItemDesc(desc);
tbItemDesc.setCreated(date);
tbItemDesc.setUpdated(date);
//插入商品描述数据
tbItemDescMapper.insert(tbItemDesc);
return TaotaoResult.ok();
}
1.5 Controller层
1、接收页面提交的内容
2、调用Service插入商品信息。
3、返回TaotaoResult。(json格式)
@RequestMapping(value = "/item/save",method = RequestMethod.POST)
@ResponseBody
public TaotaoResult createItem(TbItem tbItem, String desc) {
TaotaoResult result = itemService.createItem(tbItem,desc);
return result;
}
1.6 结果
测试新增功能 结果上篇:taotao-图片服务器
下篇:taotao-保存规格参数
源代码:https://github.com/yvettee36/taotao
网友评论