how2j.cn

步骤 1 : 表与页面   
步骤 2 : 用户表   
步骤 3 : 分类表   
步骤 4 : 属性表   
步骤 5 : 产品表   
步骤 6 : 属性值表   
步骤 7 : 产品图片表   
步骤 8 : 评价表   
步骤 9 : 订单表   
步骤 10 : 订单项表   

为了协助大家更好的理解这些表,本章节把这些表对应的部分页面一一对照起来。 如此便于大家把表中的数据与界面效果关联起来
登录页面采集用户的账号和密码
用户表
CREATE TABLE user ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) DEFAULT NULL, password varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE user (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  password varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
首页的竖状导航栏显示所有17种分类信息
分类表
CREATE TABLE category ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE category (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
在产品页的商品详情标签下,显示本产品对应分类所设置的所有属性。
属性表
CREATE TABLE property ( id int(11) NOT NULL AUTO_INCREMENT, cid int(11) DEFAULT NULL, name varchar(255) DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_property_category FOREIGN KEY (cid) REFERENCES category (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE property (
  id int(11) NOT NULL AUTO_INCREMENT,
  cid int(11) DEFAULT NULL,
  name varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_property_category FOREIGN KEY (cid) REFERENCES category (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
产品页的产品信息里显示本产品的名称,小标题,原始价格,促销价,销量,库存等信息
产品表
CREATE TABLE product ( id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) DEFAULT NULL, subTitle varchar(255) DEFAULT NULL, orignalPrice float DEFAULT NULL, promotePrice float DEFAULT NULL, stock int(11) DEFAULT NULL, cid int(11) DEFAULT NULL, createDate datetime DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_product_category FOREIGN KEY (cid) REFERENCES category (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE product (
  id int(11) NOT NULL AUTO_INCREMENT,
  name varchar(255) DEFAULT NULL,
  subTitle varchar(255) DEFAULT NULL,
  orignalPrice float DEFAULT NULL,
  promotePrice float DEFAULT NULL,
  stock int(11) DEFAULT NULL,
  cid int(11) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_product_category FOREIGN KEY (cid) REFERENCES category (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
在产品页的商品详情标签下,显示本产品的所有属性值
属性值表
CREATE TABLE propertyvalue ( id int(11) NOT NULL AUTO_INCREMENT, pid int(11) DEFAULT NULL, ptid int(11) DEFAULT NULL, value varchar(255) DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_propertyvalue_property FOREIGN KEY (pid) REFERENCES property (id), CONSTRAINT fk_propertyvalue_product FOREIGN KEY (ptid) REFERENCES product (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE propertyvalue (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  ptid int(11) DEFAULT NULL,
  value varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_propertyvalue_property FOREIGN KEY (pid) REFERENCES property (id),
  CONSTRAINT fk_propertyvalue_product FOREIGN KEY (ptid) REFERENCES product (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
在产品页显示5个单个图片
产品图片表
CREATE TABLE productimage ( id int(11) NOT NULL AUTO_INCREMENT, pid int(11) DEFAULT NULL, type varchar(255) DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_productimage_product FOREIGN KEY (pid) REFERENCES product (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE productimage (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  type varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_productimage_product FOREIGN KEY (pid) REFERENCES product (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
产品页显示评价信息
评价表
id int(11) NOT NULL AUTO_INCREMENT, content varchar(4000) DEFAULT NULL, uid int(11) DEFAULT NULL, pid int(11) DEFAULT NULL, createDate datetime DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_review_product FOREIGN KEY (pid) REFERENCES product (id), CONSTRAINT fk_review_user FOREIGN KEY (uid) REFERENCES user (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  id int(11) NOT NULL AUTO_INCREMENT,
  content varchar(4000) DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  pid int(11) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_review_product FOREIGN KEY (pid) REFERENCES product (id),
    CONSTRAINT fk_review_user FOREIGN KEY (uid) REFERENCES user (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
在后台的订单管理页面看到的订单信息
订单表
CREATE TABLE order_ ( id int(11) NOT NULL AUTO_INCREMENT, orderCode varchar(255) DEFAULT NULL, address varchar(255) DEFAULT NULL, post varchar(255) DEFAULT NULL, receiver varchar(255) DEFAULT NULL, mobile varchar(255) DEFAULT NULL, userMessage varchar(255) DEFAULT NULL, createDate datetime DEFAULT NULL, payDate datetime DEFAULT NULL, deliveryDate datetime DEFAULT NULL, confirmDate datetime DEFAULT NULL, uid int(11) DEFAULT NULL, status varchar(255) DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_order_user FOREIGN KEY (uid) REFERENCES user (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE order_ (
  id int(11) NOT NULL AUTO_INCREMENT,
  orderCode varchar(255) DEFAULT NULL,
  address varchar(255) DEFAULT NULL,
  post varchar(255) DEFAULT NULL,
  receiver varchar(255) DEFAULT NULL,
  mobile varchar(255) DEFAULT NULL,
  userMessage varchar(255) DEFAULT NULL,
  createDate datetime DEFAULT NULL,
  payDate datetime DEFAULT NULL,
  deliveryDate datetime DEFAULT NULL,
  confirmDate datetime DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  status varchar(255) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_order_user FOREIGN KEY (uid) REFERENCES user (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
完整的SSH模仿天猫项目,使用J2SE、前端技术(包含所有前端jsp文件)、J2EE,SSH一整套技术栈, 从无到有涵盖全部133个知识点,571个开发步骤, 充实SSH项目经验,为简历加上一个有吸引力的砝码.
增值内容,点击购买
在购物车中看到的订单项信息
订单项表
CREATE TABLE orderitem ( id int(11) NOT NULL AUTO_INCREMENT, pid int(11) DEFAULT NULL, oid int(11) DEFAULT NULL, uid int(11) DEFAULT NULL, number int(11) DEFAULT NULL, PRIMARY KEY (id), CONSTRAINT fk_orderitem_user FOREIGN KEY (uid) REFERENCES user (id), CONSTRAINT fk_orderitem_product FOREIGN KEY (pid) REFERENCES product (id), CONSTRAINT fk_orderitem_order FOREIGN KEY (oid) REFERENCES order_ (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE orderitem (
  id int(11) NOT NULL AUTO_INCREMENT,
  pid int(11) DEFAULT NULL,
  oid int(11) DEFAULT NULL,
  uid int(11) DEFAULT NULL,
  number int(11) DEFAULT NULL,
  PRIMARY KEY (id),
  CONSTRAINT fk_orderitem_user FOREIGN KEY (uid) REFERENCES user (id),
  CONSTRAINT fk_orderitem_product FOREIGN KEY (pid) REFERENCES product (id),
  CONSTRAINT fk_orderitem_order FOREIGN KEY (oid) REFERENCES order_ (id)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;


HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。


问答区域    
2019-02-14 hibernate自动建表
漫步者007




我想新建个表了,注解都加了,数据库中没有出现那个表啊,不知道哪的配置不对了 配置如下: <property name="schemaUpdate"> <value>true</value> </property> <property name="hibernateProperties"> <value> hibernate.dialect=org.hibernate.dialect.MySQLDialect hibernate.show_sql=false hbm2ddl.auto=update </value> </property>
package com.how2java.tmall.pojo;

import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Transient;

@Entity
@Table(name="sysfunmenu")
public class SystemMenu {

	// Fields
	@Id
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Column(name = "id")
	private String id;
	private String menuname;
	private String des;
	@ManyToOne
	@JoinColumn(name="pid")
	private SystemMenu pmenu;
	private String url;
	private String icon;
	private String sort;
	private String menuidrole;
	
	@Transient
	private List<SystemMenu> subMenu;
	@Transient
	private boolean hasMenu = false;

	public String getMenuid() {
		return this.id;
	}

	public void setMenuid(String menuid) {
		this.id = menuid;
	}

	public String getMenuname() {
		return this.menuname;
	}

	public void setMenuname(String menuname) {
		this.menuname = menuname;
	}

	public String getDes() {
		return this.des;
	}

	public void setDes(String des) {
		this.des = des;
	}

	public String getUrl() {
		return this.url;
	}

	public void setUrl(String url) {
		this.url = url;
	}

	public String getIcon() {
		return this.icon;
	}

	public void setIcon(String icon) {
		this.icon = icon;
	}

	public String getSort() {
		return this.sort;
	}

	public void setSort(String sort) {
		this.sort = sort;
	}

	public String getMenuidrole() {
		return menuidrole;
	}

	public void setMenuidrole(String menuidrole) {
		this.menuidrole = menuidrole;
	}

	public List<SystemMenu> getSubMenu() {
		return subMenu;
	}

	public void setSubMenu(List<SystemMenu> subMenu) {
		this.subMenu = subMenu;
	}

	public boolean isHasMenu() {
		return hasMenu;
	}

	public void setHasMenu(boolean hasMenu) {
		this.hasMenu = hasMenu;
	}

	public SystemMenu getPmenu() {
		return pmenu;
	}

	public void setPmenu(SystemMenu pmenu) {
		this.pmenu = pmenu;
	}
	
}

							


1 个答案

how2j
答案时间:2019-02-14
非常不幸地告诉你。。。。。自动建表这个事情,有时候就是不灵~ 所以保险起见,还是自己手动建吧



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到





2018-02-19 步骤6的pid 和ptid
magekafka

CONSTRAINT fk_propertyvalue_property FOREIGN KEY (ptid) REFERENCES property (id), CONSTRAINT fk_propertyvalue_product FOREIGN KEY (pid) REFERENCES product (id) 外键应该是这两个关联吧,ptid 和 property (id),pid 和 product (id)




5 个答案

NEAR5
答案时间:2018-03-09
主表外键字段引用子表的id CONSTRAINT fk_propertyvalue_property FOREIGN KEY (ptid) REFERENCES property (id) 就是ptid这个字段引用的是property这个表的id,而不是product 的id

菠萝蜜
答案时间:2018-03-01
为什么要使用上面的方式关联呢?

how2j
答案时间:2018-02-24
哎呀,真的是呢,你不说我还没有注意到。 应该是你说的是对的

magekafka
答案时间:2018-02-20
这是原教程: CONSTRAINT fk_propertyvalue_property FOREIGN KEY (pid) REFERENCES property (id), CONSTRAINT fk_propertyvalue_product FOREIGN KEY (ptid) REFERENCES product (id)。 我认为对应关系应该是: CONSTRAINT fk_propertyvalue_property FOREIGN KEY (ptid) REFERENCES property (id), CONSTRAINT fk_propertyvalue_product FOREIGN KEY (pid) REFERENCES product (id)

how2j
答案时间:2018-02-19
e?教程里不就是这么写的吗,没看出你的问题呢



回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
答案 或者 代码至少填写一项, 如果是自己有问题,请重新提问,否则站长有可能看不到








提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
关于 实践项目-天猫整站SSH-表与页面 的提问

尽量提供截图代码异常信息,有助于分析和解决问题。 也可进本站QQ群交流: 635924385
提问尽量提供完整的代码,环境描述,越是有利于问题的重现,您的问题越能更快得到解答。
对教程中代码有疑问,请提供是哪个步骤,哪一行有疑问,这样便于快速定位问题,提高问题得到解答的速度
在已经存在的几千个提问里,有相当大的比例,是因为使用了和站长不同版本的开发环境导致的,比如 jdk, eclpise, idea, mysql,tomcat 等等软件的版本不一致。
请使用和站长一样的版本,可以节约自己大量的学习时间。 站长把教学中用的软件版本整理了,都统一放在了这里, 方便大家下载: https://how2j.cn/k/helloworld/helloworld-version/1718.html

上传截图