实体商品示例代码

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); } }

  

Spring 商品分类的更多相关文章

  1. Spring Data Solr的分组查询 for 搜索面板的商品分类

    private List searchCategoryList(Map searchMap) { SimpleQuery query = new SimpleQuery(new Criteria(&q ...

  2. Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...

  3. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第一天

    文章大纲 一.课程介绍二.淘淘商城基本介绍三.后台管理系统工程结构与搭建四.svn代码管理五.项目源码与资料下载六.参考文章   一.课程介绍 1. 课程大纲 一共14天课程(1)第一天:电商行业的背 ...

  4. Spring 注解@Transactional readOnly=true

    引子 今天下班后,以前同事小胖问我Spring  Service类中的注解@Transactional readOnly=true的作用.做为他眼中的高人,我自然要装下A-C.居然想都没有想就说是注解 ...

  5. Spring Data Solr —— 快速入门

    Solr是基于Lucene(全文检索引擎)开发,它是一个独立系统,运行在Tomcat或Jetty(solr6以上集成了jetty,无需再部署到servlet容器上),但其原生中文的分词词功能不行,需要 ...

  6. Spring Data Solr操作solr的简单案例

    Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...

  7. spring mvc +easy ui +Mybatis 录入数据

    1.itemsEasyui.jsp 应用到的插件及知识点:日期控件My97 ,图片本地预览函数PreviewImage() (1)easy ui 的模态窗口使用时,要指定DIV的属性 data-opt ...

  8. spring boot 搭建基本套路《1》

    1. Spring复习 Spring主要是创建对象和管理对象的框架. Spring通过DI实现了IoC. Spring能很大程度的实现解耦. 需要掌握SET方式注入属性的值. 需要理解自动装配. 需要 ...

  9. ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第七天(非原创)

    文章大纲 一.课程介绍二.Redis基础实战三.Redis之高可用.集群.云平台搭建实战四.淘淘商城Jedis整合spring五.项目源码与资料下载六.参考文章   一.课程介绍 一共14天课程(1) ...

随机推荐

  1. Python多线程笔记(三),queue模块

    尽管在Python中可以使用各种锁和同步原语的组合编写非常传统的多线程程序,但有一种首推的编程方式要优于其他所有编程方式即将多线程程序组织为多个独立人物的集合,这些任务之间通过消息队列进行通信 que ...

  2. 如何用Xshell导出文件到桌面本地

    在软件开发中,会经常用到登录到Linux服务器,查看相关日志,同时也会远程取出文件到本地环境, 在没有xftp客户端的情况下,如何直接使用xshell软件直接下载文件到本地呢 下载文件: 使用sz命令 ...

  3. WPF_AutoCompleteBox智能提示_Xml读写

    效果图 1.需要引用的DLL 2. Window.xaml <Window x:Class="自己的命名空间" xmlns="http://schemas.micr ...

  4. ICEM-三棱锥的一种画法(2D转3D)

    原视频下载地址:https://yunpan.cn/cqwC3eZHn5AvJ  访问密码 9456

  5. 深入了解JVM虚拟机8:Java的编译期优化与运行期优化

    java编译期优化 java语言的编译期其实是一段不确定的操作过程,因为它可以分为三类编译过程:1.前端编译:把.java文件转变为.class文件2.后端编译:把字节码转变为机器码3.静态提前编译: ...

  6. NLP 文本预处理

    1.不同类别文本量统计,类别不平衡差异 2.文本长度统计 3.文本处理,比如文本语料中简体与繁体共存,这会加大模型的学习难度.因此,他们对数据进行繁体转简体的处理. 同时,过滤掉了对分类没有任何作用的 ...

  7. Android架构(一)MVP架构在Android中的实践

    Android架构(一)MVP架构在Android中的实践 https://www.300168.com/yidong/show-2790.html   核心提示:为什么要重视程序的架构设计 对程序进 ...

  8. 简易的CRM系统案例之Struts2+Hibernate3+JSP+MySQL版本

    改造上一版本的DAO层 简易的CRM系统案例之Struts2+JSP+MySQL版本 src文件下hibernate.cfg.xml <!DOCTYPE hibernate-configurat ...

  9. ISO/IEC 9899:2011 条款6.2.3——标识符的名字空间

    6.2.3 标识符的名字空间 1.如果一个特定标识符的多个声明在一个翻译单元的任意一点可见,那么语法上下文会区分对不同实体的引用.从而,对于标识符各种不同的类别具有独立的名字空间: ——标签名(通过标 ...

  10. 阶段5 3.微服务项目【学成在线】_day16 Spring Security Oauth2_12-SpringSecurityOauth2研究-JWT研究-生成私钥和公钥

    3.6.3 JWT入门 Spring Security 提供对JWT的支持,本节我们使用Spring Security 提供的JwtHelper来创建JWT令牌,校验JWT令牌 等操作. 3.6.3. ...