秒杀系统(四)——数据库设计及SSM整合搭建秒杀系统项目

举报
AlbertYang 发表于 2021/02/03 00:10:24 2021/02/03
3.6k+ 0 0
【摘要】 目录 1.数据库表设计 1.1秒杀商品表字段 1.2秒杀订单表字段 1.3秒杀商品详情表字段 1.4秒杀系统用户表字段 1.5秒杀商家表字段 1.6建表SQL语句 2.秒杀系统项目搭建 2.1新建maven项目 2.2添加WEB-INF和web.xml 2.3添加配置文件 2.4创建包结构   1.数据库表设计 1.1秒杀商品表字段 ...

目录

1.数据库表设计

1.1秒杀商品表字段

1.2秒杀订单表字段

1.3秒杀商品详情表字段

1.4秒杀系统用户表字段

1.5秒杀商家表字段

1.6建表SQL语句

2.秒杀系统项目搭建

2.1新建maven项目

2.2添加WEB-INF和web.xml

2.3添加配置文件

2.4创建包结构


1.数据库表设计

1.1秒杀商品表字段

  • 主键
  • 商品id
  • 标题
  • 商品图片
  • 原价格
  • 秒杀价格
  • 商家id
  • 添加日期
  • 审核日期
  • 审核转态
  • 开始时间
  • 结束时间
  • 秒杀商品数
  • 剩余库存数
  • 描述

1.2秒杀订单表字段

  • 主键
  • 秒杀商品id
  • 支付金额
  • 用户id
  • 商家id
  • 创建时间
  • 支付时间
  • 支付转态
  • 收货人地址
  • 收货人电话
  • 收货人
  • 交易流水号

1.3秒杀商品详情表字段

  • 主键
  • 商品id
  • 商家id
  • 商品产地
  • 商品名称
  • 品牌
  • 商品毛重
  • 规格和包装
  • 商品详情图片地址

1.4秒杀系统用户表字段

  • 主键
  • 用户姓名
  • 用户账号
  • 用户密码
  • 用户性别
  • 用户年龄
  • 用户住址
  • 用户邮箱

1.5秒杀商家表字段

  • 主键
  • 商家姓名
  • 商家店铺名称
  • 商家账号
  • 商家密码
  • 商家经营范围

1.6建表SQL语句


      DROP TABLE IF EXISTS `msmerchants`;
      CREATE TABLE `msmerchants` (
        `merchantsid` int(100) NOT NULL AUTO_INCREMENT COMMENT '商家id,主键自动递增',
        `merchantsname` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商家姓名',
        `merchantsshop` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商家店铺名称',
        `merchantsaccount` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商家账号',
        `merchantspassword` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商家密码',
        `merchantsscope` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '商家的经营范围',
        PRIMARY KEY (`merchantsid`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
      DROP TABLE IF EXISTS `msorder`;
      CREATE TABLE `msorder` (
        `id` int(100) NOT NULL AUTO_INCREMENT COMMENT '主键,自动递增',
        `productid` int(100) DEFAULT NULL COMMENT '秒杀商品ID',
        `payamount` decimal(10,0) DEFAULT NULL COMMENT '支付金额',
        `userid` int(100) DEFAULT NULL COMMENT '用户ID',
        `merchantsid` int(100) DEFAULT NULL COMMENT '商家ID',
        `creationtime` datetime DEFAULT NULL COMMENT '创建时间',
        `paymenttime` datetime DEFAULT NULL COMMENT '支付时间',
        `paymentstatus` int(5) DEFAULT NULL COMMENT '支付状态,0未支付,1已经支付',
        `consigneeaddress` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '收货人地址',
        `consigneephone` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '收货人电话',
        `consignee` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '收货人',
        `tradeserial` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '交易流水号',
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
      DROP TABLE IF EXISTS `msproduct`;
      CREATE TABLE `msproduct` (
        `id` int(100) NOT NULL AUTO_INCREMENT COMMENT '主键,自动递增',
        `productid` int(100) NOT NULL COMMENT '商品ID',
        `producttitle` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商品标题',
        `productpicture` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '商品图片',
        `originalprice` decimal(10,0) DEFAULT NULL COMMENT '原价格',
        `msprice` decimal(10,0) DEFAULT NULL COMMENT '秒杀价格',
        `merchantsid` int(100) DEFAULT NULL COMMENT '商家id',
        `adddate` datetime DEFAULT NULL COMMENT '添加日期',
        `auditdate` datetime DEFAULT NULL COMMENT '审核日期',
        `reviewstatus` int(5) DEFAULT NULL COMMENT '审核状态,1通过,0未通过',
        `starttime` datetime DEFAULT NULL COMMENT '开始时间',
        `endtime` datetime DEFAULT NULL COMMENT '结束时间',
        `msproductnumber` int(100) DEFAULT NULL COMMENT '秒杀商品数',
        `remaininginventory` int(100) DEFAULT NULL COMMENT '剩余库存',
        `describe` varchar(555) COLLATE utf8_bin DEFAULT NULL COMMENT '描述',
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
      DROP TABLE IF EXISTS `msproductdetails`;
      CREATE TABLE `msproductdetails` (
        `id` int(100) NOT NULL AUTO_INCREMENT COMMENT '主键,自动递增',
        `productid` int(100) DEFAULT NULL COMMENT '秒杀商品id',
        `merchantsid` int(100) DEFAULT NULL COMMENT '商家ID',
        `productaddress` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '商品产地',
        `productname` varchar(100) COLLATE utf8_bin DEFAULT NULL COMMENT '商品名称',
        `brand` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '品牌',
        `productweight` double(100,0) DEFAULT NULL COMMENT '商品毛重',
        `productpacking` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '规格和包装',
        `imgaddress` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '商品详情图片地址',
        PRIMARY KEY (`id`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
      DROP TABLE IF EXISTS `msuser`;
      CREATE TABLE `msuser` (
        `userid` int(100) NOT NULL AUTO_INCREMENT COMMENT '主键,用户id自动递增',
        `username` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '用户姓名',
        `useraccount` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '用户账号',
        `userpassword` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '用户密码',
        `usersex` varchar(5) COLLATE utf8_bin DEFAULT NULL COMMENT '用户性别',
        `userage` int(50) DEFAULT NULL COMMENT '用户年龄',
        `useraddress` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '用户住址',
        `useremail` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '用户邮箱',
        PRIMARY KEY (`userid`)
      ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
  
 

2.秒杀系统项目搭建

2.1新建maven项目

pom.xml 中添加依赖


      <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.albertyy</groupId>
        <artifactId>MsProduct</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>
        <dependencies>
             <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.10</version>
            <scope>test</scope>
          </dependency>
          <!-- 数据源 -->
          <dependency>
              <groupId>commons-dbcp</groupId>
              <artifactId>commons-dbcp</artifactId>
              <version>1.4</version>
          </dependency>
             <dependency>
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
             <version>5.1.38</version>
          </dependency>
          <!-- Mybatis3.4.1 -->
          <dependency>
              <groupId>org.mybatis</groupId>
              <artifactId>mybatis</artifactId>
              <version>3.4.1</version>
          </dependency>
          <!-- spring整合mybatis -->
          <dependency>
              <groupId>org.mybatis</groupId>
              <artifactId>mybatis-spring</artifactId>
              <version>1.3.0</version>
          </dependency>
          <!-- Spring-4.2.0 -->
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-web</artifactId>
              <version>4.2.0.RELEASE</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-orm</artifactId>
              <version>4.2.0.RELEASE</version>
          </dependency>
          <dependency>
              <groupId>org.springframework</groupId>
              <artifactId>spring-expression</artifactId>
              <version>4.2.0.RELEASE</version>
          </dependency>
        </dependencies>
      </project>
  
 

2.2添加WEB-INF和web.xml

Web.xml:


      <?xml version="1.0" encoding="UTF-8"?>
      <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
      <context-param>
          <param-name>contextConfigLocation</param-name>
          <param-value>
              classpath:application-context.xml
          </param-value>
        </context-param>
      <filter>
          <filter-name>characterEncodingFilter</filter-name>
          <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
          <init-param>
              <param-name>encoding</param-name>
              <param-value>UTF-8</param-value>
          </init-param>
        </filter>
        <filter-mapping>
          <filter-name>characterEncodingFilter</filter-name>
          <url-pattern>/*</url-pattern>
        </filter-mapping>
        <listener>
          <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
        </listener>
        <listener>
          <listener-class>org.springframework.web.util.IntrospectorCleanupListener</listener-class>
        </listener>
        <servlet>
          <servlet-name>spring</servlet-name>
          <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
          </servlet-class>
          <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
          <servlet-name>spring</servlet-name>
          <url-pattern>/*</url-pattern>
        </servlet-mapping>
        <display-name>Archetype Created Web Application</display-name>
        </web-app>
  
 

2.3添加配置文件

application-context.xml


      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans"
        xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
        xmlns:tx="http://www.springframework.org/schema/tx" xmlns:cache="http://www.springframework.org/schema/cache"
        xmlns:p="http://www.springframework.org/schema/p" xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx.xsd
           http://www.springframework.org/schema/cache
          http://www.springframework.org/schema/cache/spring-cache.xsd">
          <!-- 自动扫描 -->
          <context:component-scan base-package="com.albertyy.*"/>
          <!-- 引入外置文件 -->
          <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
              <property name="location" value="classpath:jdbc.properties"/>
          </bean>
          <!--数据库连接池配置-->
          <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
              <property name="driverClassName" value="${jdbc.driverClassName}"/>
              <property name="url" value="${jdbc.url}"/>
              <property name="username" value="${jdbc.username}"/>
              <property name="password" value="${jdbc.password}"/>
          </bean>
          <!-- spring和MyBatis完美整合 -->
          <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
              <!-- 指定数据源 -->
              <property name="dataSource" ref="dataSource"/>
              <!-- 具体指定xml文件,可不配 -->
              <property name="configLocation" value="classpath:mybatis-config.xml"/>
              <!-- 自动扫描mapping.xml文件,**表示迭代查找 ,,也可在mybatis-config.xml中单独指定xml文件 -->
              <property name="mapperLocations" value="classpath:com/albertyy/seckill/dao/xml/PersonDao.xml"/>
          </bean>
          <!-- 自动扫描dao下的所有dao接口,并实现这些接口,可直接在程序中使用dao接口,不用再获取sqlsession对象 -->
          <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
              <!--
              basePackage 属性是映射器接口文件的包路径。
                       你可以使用分号或逗号 作为分隔符设置多于一个的包路径
              -->
              <property name="basePackage" value="com/albertyy/seckill/dao"/>
              <!--
                       因为会自动装配 SqlSessionFactory和SqlSessionTemplate
                       所以没 有 必 要 去 指 定 SqlSessionFactory或 SqlSessionTemplate
                       因此可省略不配置;
                       但是,如果你使 用了一个 以上的 DataSource,那么自动装配可能会失效。
                       这种 情况下,你可以使用sqlSessionFactoryBeanName或sqlSessionTemplateBeanName属性来设置正确的 bean名称来使用;
              -->
              <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
          </bean>
          <!-- 事务管理器  -->
          <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
              <property name="dataSource" ref="dataSource" />
          </bean>
          <!-- 使用声明式事务   -->
          <tx:annotation-driven transaction-manager="txManager" />
      </beans>
  
 

jdbc.properties


      jdbc.driverClassName=com.mysql.jdbc.Driver
      jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=UTF-8
      jdbc.username=root
      jdbc.password=123456
  
 

mybatis-config.xml


      <?xml version="1.0" encoding="UTF-8" ?>
      <!DOCTYPE configuration
      PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
      "http://mybatis.org/dtd/mybatis-3-config.dtd">
      <configuration>
      <typeAliases>
              <!-- 别名定义 -->
              <typeAlias type="com.albertyy.seckill.entity.Person" alias="person" />
          </typeAliases>
      </configuration>
  
 

2.4创建包结构

文章来源: albertyang.blog.csdn.net,作者:Albert Yang,版权归原作者所有,如需转载,请联系作者。

原文链接:albertyang.blog.csdn.net/article/details/86766383

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。