美文网首页
一.开发准备,实体类设计与表创建

一.开发准备,实体类设计与表创建

作者: Kingsber | 来源:发表于2018-11-10 20:15 被阅读0次

一.开发准备

1.创建Maven项目
2.新增pom.xml文件代码
   <build>
        <finalName>o2o</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.1</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

二.项目设计和框架搭建

创建com.kings.o2o.entity Area.java类

package com.kings.o2o.entity;
/**
 * 区域
 */
import java.util.Date;

public class Area {
    //ID
    private Integer areaId;
    //名称
    private String areaName;
    //权重
    private Integer priority;
    //创建时间
    private Date createTime;
    //更新时间
    private Date lastEditTime;
    
    public Integer getAreaId() {
        return areaId;
    }
    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }
    public String getAreaName() {
        return areaName;
    }
    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
}

创建对应的数据库表

create table tb_area(
    area_id int(2) NOT NULL AUTO_INCREMENT,
    area_name varchar(200) NOT NULL,
    priority int(2) NOT NULL DEFAULT '0',
    create_time datetime DEFAULT NULL,
    last_edit_time datetime DEFAULT NULL,
    primary key(area_id),
    unique key UK_AREA(area_name)
    )ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建PersonInfo.java类

package com.kings.o2o.entity;
/**
 * 用户
 */
import java.util.Date;

public class PersonInfo {
    private Long userId;
    private String name;
    private String profileImg;
    private String email;
    private String gender;
    private Integer enableStatus;
    //1.顾客 2.店家 3.超级管理员
    private Integer userType;
    private Date createTime;
    private Date lastEditTime;
    
    public Long getUserId() {
        return userId;
    }
    public void setUserId(Long userId) {
        this.userId = userId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getProfileImg() {
        return profileImg;
    }
    public void setProfileImg(String profileImg) {
        this.profileImg = profileImg;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public Integer getEnableStatus() {
        return enableStatus;
    }
    public void setEnableStatus(Integer enableStatus) {
        this.enableStatus = enableStatus;
    }
    public Integer getUserType() {
        return userType;
    }
    public void setUserType(Integer userType) {
        this.userType = userType;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
}

创建对应的tb_person_info表

create table tb_person_info(
 user_id int(10) NOT NULL AUTO_INCREMENT,
 name varchar(32) DEFAULT NULL,
 profile_img varchar(1024) DEFAULT NULL,
 email varchar(1024) DEFAULT NULL,
 gender varchar(2) DEFAULT NULL,
 enable_status int(2) NOT NULL DEFAULT 0 COMMENT '0:禁止使用本商城,1:  许使用本商场',
 user_type int(2) NOT NULL DEFAULT 1 COMMENT '1.顾客,2:店家,3:超级管理员',
 create_time datetime DEFAULT NULL,
 last_edit_time datetime DEFAULT NULL,
 primary key (user_id)
 )ENGINE=InnoDB AUTO_INCREMENT 1 DEFAULT CHARSET=utf8;

在entity包下新建WechatAuth.java类

package com.kings.o2o.entity;

import java.util.Date;

public class WechatAuth {
    private Long wechatAuthId;
    private String openId;
    private Date createTime;
    private PersonInfo personInfo;
    
    public Long getWechatAuthId() {
        return wechatAuthId;
    }
    public void setWechatAuthId(Long wechatAuthId) {
        this.wechatAuthId = wechatAuthId;
    }
    public String getOpenId() {
        return openId;
    }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public PersonInfo getPersonInfo() {
        return personInfo;
    }
    public void setPersonInfo(PersonInfo personInfo) {
        this.personInfo = personInfo;
    }
}

创建数据库表

create table tb_wechat_auth(
  wechat_auth_id int(10) NOT NULL AUTO_INCREMENT,
  user_id int(10) NOT NULL,
  open_id varchar(1024) NOT NULL,
  create_time datetime DEFAULT NULL,
  primary key(wechat_auth_id),
  unique key uk_wechat_profile(open_id),
  constraint fk_wechatauth_profile foreign key(user_id) references tb_person_info(user_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建LocalAuth.java类

package com.kings.o2o.entity;
/**
 * 本地账号
 * @author User
 *
 */

import java.util.Date;

public class LocalAuth {
    private Long localAuthId;
    private String username;
    private String password;
    private Date createTime;
    private Date lastEditTime;
    private PersonInfo personInfo;
    
    public Long getLocalAuthId() {
        return localAuthId;
    }
    public void setLocalAuthId(Long localAuthId) {
        this.localAuthId = localAuthId;
    }
    public String getUsername() {
        return username;
    }
    public void setUsername(String username) {
        this.username = username;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
    public PersonInfo getPersonInfo() {
        return personInfo;
    }
    public void setPersonInfo(PersonInfo personInfo) {
        this.personInfo = personInfo;
    }   
}

创建对应的数据库表

create table tb_local_auth(
  local_auth_id int(10) NOT NULL AUTO_INCREMENT,
  user_id int(10) NOT NULL,
  username varchar(128) NOT NULL,
  password varchar(128) NOT NULL,
  create_time datetime DEFAULT NULL,
  last_edit_time datetime DEFAULT NULL,
  PRIMARY KEY(local_auth_id),
  UNIQUE KEY uk_local_profile(username),
  constraint fk_localauth_profile foreign key(user_id) references tb_person_info(user_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建HeadLine.java类

package com.kings.o2o.entity;
/**
 * 头条
 */
import java.util.Date;

public class HeadLine {
    private Long lineId;
    private String lineName;
    private String lineLink;
    private String lineImg;
    private Integer priority;
    //0:不可用 1:可用
    private Integer enableStatus;
    private Date cteateTime;
    private Date lastEditTime;
    
    public Long getLineId() {
        return lineId;
    }
    public void setLineId(Long lineId) {
        this.lineId = lineId;
    }
    public String getLineName() {
        return lineName;
    }
    public void setLineName(String lineName) {
        this.lineName = lineName;
    }
    public String getLineLink() {
        return lineLink;
    }
    public void setLineLink(String lineLink) {
        this.lineLink = lineLink;
    }
    public String getLineImg() {
        return lineImg;
    }
    public void setLineImg(String lineImg) {
        this.lineImg = lineImg;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Integer getEnableStatus() {
        return enableStatus;
    }
    public void setEnableStatus(Integer enableStatus) {
        this.enableStatus = enableStatus;
    }
    public Date getCteateTime() {
        return cteateTime;
    }
    public void setCteateTime(Date cteateTime) {
        this.cteateTime = cteateTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }   
}

创建对应的数据库表

CREATE TABLE tb_head_line(
  line_id int(100) NOT NULL AUTO_INCREMENT,
  line_name varchar(1000) DEFAULT NULL,
  line_link varchar(2000) NOT NULL,
  line_img varchar(2000) NOT NULL,
  priority int(2) DEFAULT NULL,
  enable_status int(2) NOT NULL DEFAULT 0,
  create_time datetime DEFAULT NULL,
  last_edit_time datetime DEFAULT NULL,
  PRIMARY KEY(line_id)
)ENGINE = InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建ShopCategory.java类

package com.kings.o2o.entity;
/**
 * 店铺类别
 */
import java.util.Date;

public class ShopCategory {
    
    private Long shopCategoryId;
    private String shopCategoryName;
    private String shopCategoryDesc;
    private String shopCategorryImg;
    private Integer priority;
    private Date createTime;
    private Date lastEditTime;
    private ShopCategory parent;
    
    public Long getShopCategoryId() {
        return shopCategoryId;
    }
    public void setShopCategoryId(Long shopCategoryId) {
        this.shopCategoryId = shopCategoryId;
    }
    public String getShopCategoryName() {
        return shopCategoryName;
    }
    public void setShopCategoryName(String shopCategoryName) {
        this.shopCategoryName = shopCategoryName;
    }
    public String getShopCategoryDesc() {
        return shopCategoryDesc;
    }
    public void setShopCategoryDesc(String shopCategoryDesc) {
        this.shopCategoryDesc = shopCategoryDesc;
    }
    public String getShopCategorryImg() {
        return shopCategorryImg;
    }
    public void setShopCategorryImg(String shopCategorryImg) {
        this.shopCategorryImg = shopCategorryImg;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
    public ShopCategory getParent() {
        return parent;
    }
    public void setParent(ShopCategory parent) {
        this.parent = parent;
    }   
}

创建对应的数据库表

CREATE TABLE tb_shop_category(
    shop_category_id int(11) NOT NULL AUTO_INCREMENT,
    shop_category_name varchar(100) NOT NULL DEFAULT '',
    shop_category_desc varchar(1000) DEFAULT '',
    shop_category_img varchar(2000) DEFAULT NULL,
    priority int(2) NOT NULL DEFAULT 0,
    create_time datetime DEFAULT NULL,
    last_edit_time datetime DEFAULT NULL,
    parent_id int(11)  DEFAULT NULL,
    PRIMARY KEY(shop_category_id),
    CONSTRAINT fk_shop_category_self FOREIGN KEY(parent_id) REFERENCES tb_shop_category(shop_category_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建Shop.java类

package com.kings.o2o.entity;

import java.util.Date;

public class Shop {
    
    private Long shopId;
    private String shopName;
    //店铺描述
    private String shopDesc;
    //店铺具体地址
    private String shopAddr;
    private String phone;
    private String shopmg;
    private Integer priority;
    private Date createTime;
    private Date lastEditTime;
    //-1:不可用 0:审核中 1:可用
    private Integer enableStatus;
    //超级管理员给店家的提醒
    private String advice;
    //区域实体类:表示店铺属于哪一块区域
    private Area area;
    //用户信息实体类:表示店铺由谁创建
    private PersonInfo owner;
    //店铺类别实体类
    private ShopCategory shopCategory;
    
    public Long getShopId() {
        return shopId;
    }
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public String getShopName() {
        return shopName;
    }
    public void setShopName(String shopName) {
        this.shopName = shopName;
    }
    public String getShopDesc() {
        return shopDesc;
    }
    public void setShopDesc(String shopDesc) {
        this.shopDesc = shopDesc;
    }
    public String getShopAddr() {
        return shopAddr;
    }
    public void setShopAddr(String shopAddr) {
        this.shopAddr = shopAddr;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getShopmg() {
        return shopmg;
    }
    public void setShopmg(String shopmg) {
        this.shopmg = shopmg;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
    public Integer getEnableStatus() {
        return enableStatus;
    }
    public void setEnableStatus(Integer enableStatus) {
        this.enableStatus = enableStatus;
    }
    public String getAdvice() {
        return advice;
    }
    public void setAdvice(String advice) {
        this.advice = advice;
    }
    public Area getArea() {
        return area;
    }
    public void setArea(Area area) {
        this.area = area;
    }
    public PersonInfo getOwner() {
        return owner;
    }
    public void setOwner(PersonInfo owner) {
        this.owner = owner;
    }
    public ShopCategory getShopCategory() {
        return shopCategory;
    }
    public void setShopCategory(ShopCategory shopCategory) {
        this.shopCategory = shopCategory;
    }   
}

创建对应的数据表

CREATE TABLE tb_shop(
    shop_id int(10) NOT NULL AUTO_INCREMENT,
    owner_id int(10) NOT NULL COMMENT '店铺创建人',
    area_id int(5) DEFAULT NULL,
    shop_category_id int(11) DEFAULT NULL,
    shop_name varchar(256) NOT NULL,
    shop_desc varchar(1024) DEFAULT NULL,
    shop_addr varchar(200) DEFAULT NULL,
    phone varchar(128) DEFAULT NULL,
    shop_img varchar(1024) DEFAULT NULL,
    priority int(3) DEFAULT 0,
    create_time datetime DEFAULT NULL,
    last_edit_time datetime DEFAULT NULL,
    enable_status int(2) NOT NULL DEFAULT 0,
    advice varchar(255) DEFAULT NULL,
    PRIMARY KEY(shop_id),
    CONSTRAINT fk_shop_area FOREIGN KEY(area_id) REFERENCES tb_area(area_id),
    CONSTRAINT fk_shop_profile FOREIGN KEY(owner_id) REFERENCES tb_person_info(user_id),
    CONSTRAINT fk_shop_shopcate FOREIGN KEY(shop_category_id) REFERENCES tb_shop_category(shop_category_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建ProductCategory.java

package com.kings.o2o.entity;
/**
 * 商品类别
 */
import java.util.Date;

public class ProductCategory {

    private Long productCategoryId;
    private Long shopId;
    private String productCategoryName;
    private Integer priority;
    private Date createTime;
    
    public Long getProductCategoryId() {
        return productCategoryId;
    }
    public void setProductCategoryId(Long productCategoryId) {
        this.productCategoryId = productCategoryId;
    }
    public Long getShopId() {
        return shopId;
    }
    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }
    public String getProductCategoryName() {
        return productCategoryName;
    }
    public void setProductCategoryName(String productCategoryName) {
        this.productCategoryName = productCategoryName;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
}

创建对应数据表

CREATE TABLE tb_product_category(
  product_category_id int(11) NOT NULL AUTO_INCREMENT,
  product_category_name varchar(100) NOT NULL,
  priority int(2) DEFAULT 0,
  create_time datetime DEFAULT NULL,
  shop_id int(20) NOT NULL DEFAULT 0,
  PRIMARY KEY (product_category_id),
  CONSTRAINT fk_procate_shop FOREIGN KEY(shop_id)REFERENCES tb_shop(shop_id)
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建Product.java类

package com.kings.o2o.entity;

import java.util.Date;
import java.util.List;

public class Product {

    private Long productId;
    private String productName;
    private String productDesc;
    //简略图
    private String imgAddr;
    private String normalPrice;
    private String promotionPrice;
    private Integer priority;
    private Date cteateTime;
    private Date lastEditTime;
    //0:下架 1:在前端展示系统展示
    private Integer enableStatus;
    
    private List<ProductImg> productImgList;
    private ProductCategory productCategory;
    private Shop shop;
    
    public Long getProductId() {
        return productId;
    }
    public void setProductId(Long productId) {
        this.productId = productId;
    }
    public String getProductName() {
        return productName;
    }
    public void setProductName(String productName) {
        this.productName = productName;
    }
    public String getProductDesc() {
        return productDesc;
    }
    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }
    public String getImgAddr() {
        return imgAddr;
    }
    public void setImgAddr(String imgAddr) {
        this.imgAddr = imgAddr;
    }
    public String getNormalPrice() {
        return normalPrice;
    }
    public void setNormalPrice(String normalPrice) {
        this.normalPrice = normalPrice;
    }
    public String getPromotionPrice() {
        return promotionPrice;
    }
    public void setPromotionPrice(String promotionPrice) {
        this.promotionPrice = promotionPrice;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCteateTime() {
        return cteateTime;
    }
    public void setCteateTime(Date cteateTime) {
        this.cteateTime = cteateTime;
    }
    public Date getLastEditTime() {
        return lastEditTime;
    }
    public void setLastEditTime(Date lastEditTime) {
        this.lastEditTime = lastEditTime;
    }
    public Integer getEnableStatus() {
        return enableStatus;
    }
    public void setEnableStatus(Integer enableStatus) {
        this.enableStatus = enableStatus;
    }
    public List<ProductImg> getProductImgList() {
        return productImgList;
    }
    public void setProductImgList(List<ProductImg> productImgList) {
        this.productImgList = productImgList;
    }
    public ProductCategory getProductCategory() {
        return productCategory;
    }
    public void setProductCategory(ProductCategory productCategory) {
        this.productCategory = productCategory;
    }
    public Shop getShop() {
        return shop;
    }
    public void setShop(Shop shop) {
        this.shop = shop;
    }   
}

创建对应数据表

CREATE TABLE tb_product(
    product_id int(100) NOT NULL AUTO_INCREMENT,
    product_name varchar(100) NOT NULL,
    product_desc varchar(2000) DEFAULT NULL,
    img_addr varchar(2000) DEFAULT '',
    normal_price varchar(100) DEFAULT NULL,
    promotion_price varchar(100) DEFAULT NULL,
    priority int(2) NOT NULL DEFAULT 0,
    create_time  datetime DEFAULT NULL,
    last_edit_time datetime DEFAULT NULL,
    enable_status int(2) NOT NULL DEFAULT 0,
    product_category_id int(11) DEFAULT NULL,
    shop_id int(20) NOT NULL DEFAULT 0,
    PRIMARY KEY(product_id),
    CONSTRAINT fk_product_procate FOREIGN KEY(product_category_id) REFERENCES tb_product_category(product_category_id),
    CONSTRAINT fk_product_shop FOREIGN KEY(shop_id) REFERENCES tb_shop(shop_id)
 )ENGINE =InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在entity包下新建ProductImg.java类

package com.kings.o2o.entity;
/**
 * 详情图片
 */
import java.util.Date;

public class ProductImg {

    private Long productImgId;
    private String imgAddr;
    private String ingDesc;
    private Integer priority;
    private Date createTime;
    private Long productId;
    
    public Long getProductImgId() {
        return productImgId;
    }
    public void setProductImgId(Long productImgId) {
        this.productImgId = productImgId;
    }
    public String getImgAddr() {
        return imgAddr;
    }
    public void setImgAddr(String imgAddr) {
        this.imgAddr = imgAddr;
    }
    public String getIngDesc() {
        return ingDesc;
    }
    public void setIngDesc(String ingDesc) {
        this.ingDesc = ingDesc;
    }
    public Integer getPriority() {
        return priority;
    }
    public void setPriority(Integer priority) {
        this.priority = priority;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Long getProductId() {
        return productId;
    }
    public void setProductId(Long productId) {
        this.productId = productId;
    }   
}

创建对应数据表(先创建tb_product数据表)

CREATE TABLE tb_product_img(
  product_img_id int(20) NOT NULL AUTO_INCREMENT,
  img_addr varchar(2000) NOT NULL,
  img_desc varchar(2000) DEFAULT NULL,
  priority int(2) DEFAULT 0,
  create_time  datetime DEFAULT NULL,
  product_id int(20) DEFAULT NULL,
  PRIMARY KEY(product_img_id),
  CONSTRAINT fk_proimg_product FOREIGN KEY(product_id) REFERENCES tb_product(product_id)
)ENGINE =InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

相关文章

网友评论

      本文标题:一.开发准备,实体类设计与表创建

      本文链接:https://www.haomeiwen.com/subject/zfhtfqtx.html