zoukankan      html  css  js  c++  java
  • 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);
    		
    	}
    
    }
    

      

  • 相关阅读:
    实战 | 使用maven 轻松重构项目
    分布式架构高可用与高并发那些在工作中常用到的那些变态应用
    操作系统的那些灵魂概念,你弄懂了几个?
    应该没人比我更细了吧:带你深入剖析Redis分布式锁!
    我把 Spring Cloud 给拆了!带你详细了解各组件原理!
    深入浅出MySQL灵魂十连问,你真的有把握吗?
    领统Java并发半壁江山的AQS你真的懂了吗?
    不会数据结构?24张图让你彻底弄懂它,还不会你来打我!
    你了解Spring事务传播行为吗?多个方法之间调用事务如何传播?
    深入学习:三分钟快速教会你编写线程安全代码!
  • 原文地址:https://www.cnblogs.com/max-hou/p/11158226.html
Copyright © 2011-2022 走看看