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); } }
Spring 商品分类的更多相关文章
- Spring Data Solr的分组查询 for 搜索面板的商品分类
private List searchCategoryList(Map searchMap) { SimpleQuery query = new SimpleQuery(new Criteria(&q ...
- Spring+SpringMVC+MyBatis深入学习及搭建(十六)——SpringMVC注解开发(高级篇)
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7085268.html 前面讲到:Spring+SpringMVC+MyBatis深入学习及搭建(十五)——S ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第一天
文章大纲 一.课程介绍二.淘淘商城基本介绍三.后台管理系统工程结构与搭建四.svn代码管理五.项目源码与资料下载六.参考文章 一.课程介绍 1. 课程大纲 一共14天课程(1)第一天:电商行业的背 ...
- Spring 注解@Transactional readOnly=true
引子 今天下班后,以前同事小胖问我Spring Service类中的注解@Transactional readOnly=true的作用.做为他眼中的高人,我自然要装下A-C.居然想都没有想就说是注解 ...
- Spring Data Solr —— 快速入门
Solr是基于Lucene(全文检索引擎)开发,它是一个独立系统,运行在Tomcat或Jetty(solr6以上集成了jetty,无需再部署到servlet容器上),但其原生中文的分词词功能不行,需要 ...
- Spring Data Solr操作solr的简单案例
Spring Data Solr简介 虽然支持任何编程语言的能力具有很大的市场价值,你可能感兴趣的问题是:我如何将Solr的应用集成到Spring中?可以,Spring Data Solr就是为了方便 ...
- spring mvc +easy ui +Mybatis 录入数据
1.itemsEasyui.jsp 应用到的插件及知识点:日期控件My97 ,图片本地预览函数PreviewImage() (1)easy ui 的模态窗口使用时,要指定DIV的属性 data-opt ...
- spring boot 搭建基本套路《1》
1. Spring复习 Spring主要是创建对象和管理对象的框架. Spring通过DI实现了IoC. Spring能很大程度的实现解耦. 需要掌握SET方式注入属性的值. 需要理解自动装配. 需要 ...
- ssm(Spring、Springmvc、Mybatis)实战之淘淘商城-第七天(非原创)
文章大纲 一.课程介绍二.Redis基础实战三.Redis之高可用.集群.云平台搭建实战四.淘淘商城Jedis整合spring五.项目源码与资料下载六.参考文章 一.课程介绍 一共14天课程(1) ...
随机推荐
- Codeforces Round #459 (Div. 2) C题【思维好题--括号匹配问题】
题意:给出一个串,只包含 ( ? ) 三种符号,求出有多少个子串是完美匹配的. ( ) ? ) => ( ) ( ) 完美匹配( ( ) ? => ( ( ) )完美匹配? ? ? ? = ...
- vue中$refs、,$emit、$on
$emit https://blog.csdn.net/sllailcp/article/details/78595077 $on https://www.jianshu.com/p/a544728b ...
- bzoj 2563: 阿狸和桃子的游戏 贪心
这个真的好巧妙啊~ 如果只考虑点权的话显然直接按照权值大小排序即可. 但是加入了边权,就有了一个决策的问题. 于是,我们将边权分一半,分给两个端点. 如果一个人拿了两个端点,则边权都会加上. 否则,边 ...
- CF891C Envy【最小生成树】
题目链接 我们知道,根据Kruskal的贪心,对于最小生成树,每一种权值的边数是一样的,而且如果将\(\leq x\)的边做最小生成树,合法方案的联通性是一样的.所以我们可以对于所有边分开考虑. 对于 ...
- arch linux下网易云音乐运行没反应,只能使用root用户运行
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/netease_music_can_not_open 最近打开网易 ...
- P5346 【XR-1】柯南家族(后缀数组+主席树)
题目 P5346 [XR-1]柯南家族 做法 聪明性是具有传递性的,且排列是固定的 那么先预处理出每个点的名次,用主席树维护\(k\)大值 一眼平衡树,遍历的同时插入\(O(log^2n)\),总时间 ...
- Tcl模块化
Proc 过程名 参数列表 过程体 示例代码(斐波那契数列): proc fib {num} { if {$num<=2} {return 1} return [expr [fib [expr ...
- linux服务器执行cd和ls等等命令都有卡顿现象问题记录
一 执行命令free -gh 1. free 命令显示系统内存的使用情况,包括物理内存.交换内存(swap)和内核缓冲区内存. 2. -g 表示以G单位显示, -m以兆单位显示, h会在数字后面 ...
- Jenkins 更新 jenkins.war的方法
Jenkins 有时候更新,直接是主页提示下载 jenkins.war只需要把下载的jenkins.war 替换原来的jenkins.war 就可以了那么问题来了? 原来的 jenkins.war 到 ...
- 走进JavaWeb技术世界8:浅析Tomcat9请求处理流程与启动部署过程
谈谈 Tomcat 请求处理流程 转自:https://github.com/c-rainstorm/blog/blob/tomcat-request-process/reading-notes &l ...