文章目录
商品分类管理
-
逆向工程创建Model实体类、Mapper接口、mapper.xml
-
初始化项目环境:
- 配置实例类和表映射(通用Mapper)
- 初始项目结构:创建controller、service
-
实现需求
-
添加分类
-
修改商品
-
商品列表多条件查询:根据商品名称模糊查询、价格范围查询
-
查询每人提成:展示销售人员ID、姓名、销售总金额、提成总金额
- 展示销售人员ID、姓名、销售总金额、提成总金额
tab_user: uid username totalPrice commission
- 查询销售的商品对应的单价、提成比例
SELECT
sale.uid,
sale.pid,
sale.sale_num,
p.sale_price,
p.commission
FROM tab_sale sale,tab_product p
WHERE sale.pid = p.product_id - 销售总金额:totalPrice:
3号销售:售价* 单价 + 售价* 单价
3,1000
1,500
2,600 - 提成总金额:commission
3,500
2,200
1,150 - 把计算结果赋值销售人员
-
逆向工程
- 构建过程
//下载
git clone https://github.com/zouzg/mybatis-generator-gui
//进入解压目录
cd mybatis-generator-gui
//打包
mvn jfx:jar
cd target/jfx/app/
//运行可执行jar
java -jar mybatis-generator-gui.jar
将逆向工程生产的Model类和mapper接口、mapper.xml复制到项目中
注意:
1. model需要绑定对应的表,标注ID
- mapper接口:删除自动生成的单表CRUD方法,我们使用通用Mapper
3. mapper.xml 注意namespace和mapper接口的路径,删除自动生成的单表CRUD方法,我们使用通用Mapper
Model
Brands
@Table(name = "tab_brands")
public class Brands implements Serializable {
/**
* 自增ID
*/
@Id
private Integer brandid;
/**
* 品牌名称
*/
private String brandname;
/**
* 品牌图标
*/
private String brandimg;
/**
* 建立时间
*/
@JsonFormat(pattern="yyyy-MM-dd",timezone = "Hongkong")
private Date createtime;
/**
* 删除标志 -1:删除 1:有效
*/
private Byte dataflag;
/**
* 品牌排序号
*/
private Integer sortno;
/**
* 品牌介绍
*/
private String branddesc;
private List<Goods> goodsList;
//get set...
}
Goods
@Table(name = "tab_goods")
public class Goods implements Serializable {
/**
* 自增ID
*/
@Id
private Integer goodsId;
/**
* 商品编号
*/
private String goodsSn;
/**
* 商品名称
*/
private String goodsName;
/**
* 市场价
*/
private BigDecimal marketPrice;
/**
* 店铺价
*/
private BigDecimal shopPrice;
/**
* 商品总库存
*/
private Integer goodsStock;
/**
* 预警库存
*/
private Integer warnStock;
/**
* 是否上架
*/
private Byte isSale;
/**
* 是否新品
*/
private Byte isNew;
/**
* 上架时间
*/
private Date saleTime;
/**
* 创建时间
*/
private Date createTime;
/**
* 品牌ID
*/
private Integer brandId;
private Brands brands;
//get set...
}
GoodsVo
public class GoodsVo extends Goods {
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createEndTime;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date createStartTime;
//get set...
}
Controller
BrandController
@CrossOrigin
@RestController
@RequestMapping("/brand")
public class BrandController {
@Autowired
BrandService brandService;
/**
* 根据ID查询品牌
* @param brandid
* @return
*/
@GetMapping