Spring 商品分类

实体商品示例代码

package cn.maxhou.entity;

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

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;

@Entity//该注解表名该类为一个实体
public class Goods implements Serializable {
	
	private static final long serialVersionUID = 5060150518287868308L;
	
	@Id//id注解
	@GeneratedValue(strategy=GenerationType.IDENTITY)//ID自增注解
	private int id;
	
	private String name;
	
	private String specifications;
	
	private BigDecimal price;
	
	private int quantity;
	
	@ManyToOne//表名商品和分类的关系是多对一
	@JoinColumn(name = "classification_id")//设置加入类名
	private Classification classification;
	
	public Goods() {
	}

	public Goods(String name, String specifications, BigDecimal price, int quantity) {
		super();
		this.name = name;
		this.specifications = specifications;
		this.price = price;
		this.quantity = quantity;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getSpecifications() {
		return specifications;
	}

	public void setSpecifications(String specifications) {
		this.specifications = specifications;
	}

	public BigDecimal getPrice() {
		return price;
	}

	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	public int getQuantity() {
		return quantity;
	}

	public void setQuantity(int quantity) {
		this.quantity = quantity;
	}

	public Classification getClassification() {
		return classification;
	}

	public void setClassification(Classification classification) {
		this.classification = classification;
	}

	
	
}

实体分类代码

package cn.maxhou.entity;

import java.io.Serializable;
import java.util.Set;

import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;

@Entity//该注解表明该类是一个实体
public class Classification implements Serializable {

	private static final long serialVersionUID = -7378975775604019219L;
	
	@Id//I该注解表名改变量为数据库表ID
	@GeneratedValue(strategy = GenerationType.IDENTITY)//id自增
	private int id;
	
	private String name;
	
	private int pid;
	
	@OneToMany(mappedBy = "classification" ,cascade = CascadeType.ALL )//表明分类和商品的关系是一对多,级联操作所有权限
	private Set<Goods> goodes;

	public Classification() {
	}

	public Classification(String name, int pid) {
		super();
		this.name = name;
		this.pid = pid;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public int getPid() {
		return pid;
	}

	public void setPid(int pid) {
		this.pid = pid;
	}
	
	
}

数据库操作类数据

package cn.maxhou.dao;

import org.springframework.data.jpa.repository.JpaRepository;

import cn.maxhou.entity.Goods;

public interface GoodsRepository extends JpaRepository<Goods, Integer> {

}

 实现JpaRepository接口后就能拥有增删改查的功能

驱动类

package cn.maxhou.demo;

import java.math.BigDecimal;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;

import cn.maxhou.dao.ClassificationRepository;
import cn.maxhou.dao.GoodsRepository;
import cn.maxhou.entity.Classification;
import cn.maxhou.entity.Goods;

@SpringBootApplication
@EnableJpaRepositories(basePackages = "cn.maxhou.dao")//导入数据库操作类包注解
@EntityScan(basePackages = "cn.maxhou.entity")//导入实体包注解
public class Application implements CommandLineRunner {

	@Autowired
	private ClassificationRepository classificationRepository;
	
	@Autowired
	private GoodsRepository goodsRepository;
	
	public static void main(String[] args) {
		SpringApplication.run(Application.class, args);
	}

	@Override
	public void run(String... args) throws Exception {
		//清除表中已有数据
		classificationRepository.deleteAllInBatch();//实现接口后调用删除所有方法
		goodsRepository.deleteAllInBatch();//实现接口后调用删除所有方法
		
		//新建分类
		Classification classify = new Classification("总分类",0);
		classificationRepository.save(classify);
		
		Classification subClassify = new Classification("服装",1);
		classificationRepository.save(subClassify);
		
		//新建商品
		Goods goods = new Goods("围巾","红色,1米5",new BigDecimal(200),300);
		goods.setClassification(subClassify);
		
		//Goods goods2 = new Goods("鞋子","43码黑色",new BigDecimal(388),100);
		//goods.setClassification(classificationRepository.getOne(2));
		
		goodsRepository.save(goods);
		//goodsRepository.save(goods2);
		
	}

}

  

posted @ 2019-07-09 16:23  麦克斯-侯  阅读(312)  评论(0编辑  收藏  举报
百纵科技