Vue+Spring Boot+MyBatis实现Eshop电子商城(已烂尾,等以后有时间再继续完善)

asp.net必修课项目(Java实现):EShop数码商城

前言

给自己:
		这学期开了asp.net  由于正在学Java的一些框架于是打算采Vue+Springboot+Mybatis 完成必修课所要完成的项目,在本篇文章中后端只将几个重点功能写出用于记录,由于本人技术水平有限,如若有错还希望多多包涵并指正。

项目介绍

	Eshop网络商城是基于Spring Boot、Vue.js、MyBatis、Element UI等主流前后端技术,采用前后端分离架构实现的简易网上购物商城。

预计主要实现的功能

  • 系统登录:系统用户登录
  • 用户管理:用户注册,用户登录(用户注册登录都采用邮箱验证方式且注册登录一体
  • 商品分类
  • 商品模块
  • 购物车模块
  • 收货地址模块
  • 支付模块
  • 订单模块

系统架构

前端架构

	该项目采用前后端分离的架构模式,前端采用的核心框架是Vue.js,使用了饿了么团队开源的ElementUI库,使用Axios进行前后端通信

前端架构图如下
在这里插入图片描述

后端架构

	该项目采用前后端分离的架构模式,后端采用的核心框架是Springboot,MyBatis
框架

后端架构图如下
在这里插入图片描述

后端部分内容的具体实现

注1:项目初始化及其所要引入的依赖

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.4</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.kc</groupId>
    <artifactId>eshop</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>eshop</name>
    <description>Demo project for Spring Boot</description>
    <properties>
        <java.version>1.8</java.version>
    </properties>


    <dependencies>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!--    druid    -->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid</artifactId>
            <version>1.2.4</version>
        </dependency>
        <!--    mysql    -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.38</version>
        </dependency>
        <!--    mybatis-spring-boot-stater    -->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.4</version>
        </dependency>
        <!--    热部署    -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

        <!--整合Swagger时使用-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.6.1</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.6.1</version>
        </dependency>

        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.9</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-mail</artifactId>
        </dependency>



    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

1. 用户模块

  • 文件结构展示
  • 数据库表设计
  • 用户实体类
  • 用户登录注册功能实现
  • 用户登录的拦截器实现

文件结构
在这里插入图片描述

数据库表设计
在这里插入图片描述
用户实体类

package com.kc.entity;

import lombok.Data;

import java.lang.reflect.Method;

@Data
public class Member {
    private int id;
    private String loginname;
    private String loginpwd;
    private String sex;
    private String birth;
    private String education;
    private String phone;
    private String adress;
    private String zip;
    private String email;
    private String regdate;
    private String latedate;
    private int logintimes;
    private int memberlevel;

    public Member(){

    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getLoginname() {
        return loginname;
    }

    public void setLoginname(String loginname) {
        this.loginname = loginname;
    }

    public String getLoginpwd() {
        return loginpwd;
    }

    public void setLoginpwd(String loginpwd) {
        this.loginpwd = loginpwd;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public String getBirth() {
        return birth;
    }

    public void setBirth(String birth) {
        this.birth = birth;
    }

    public String getEducation() {
        return education;
    }

    public void setEducation(String education) {
        this.education = education;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getAdress() {
        return adress;
    }

    public void setAdress(String adress) {
        this.adress = adress;
    }

    public String getZip() {
        return zip;
    }

    public void setZip(String zip) {
        this.zip = zip;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public String getRegdate() {
        return regdate;
    }

    public void setRegdate(String regdate) {
        this.regdate = regdate;
    }

    public String getLatedate() {
        return latedate;
    }

    public void setLatedate(String latedate) {
        this.latedate = latedate;
    }

    public int getLogintimes() {
        return logintimes;
    }

    public void setLogintimes(int logintimes) {
        this.logintimes = logintimes;
    }

    public int getMemberlevel() {
        return memberlevel;
    }

    public void setMemberlevel(int memberlevel) {
        this.memberlevel = memberlevel;
    }

    @Override
    public String toString() {
        return "member{" +
                "id=" + id +
                ", loginname='" + loginname + '\'' +
                ", loginpwd='" + loginpwd + '\'' +
                ", sex='" + sex + '\'' +
                ", birth='" + birth + '\'' +
                ", education='" + education + '\'' +
                ", phone='" + phone + '\'' +
                ", adress='" + adress + '\'' +
                ", zip='" + zip + '\'' +
                ", email='" + email + '\'' +
                ", regdate='" + regdate + '\'' +
                ", latedate='" + latedate + '\'' +
                ", logintimes=" + logintimes +
                ", memberlevel=" + memberlevel +
                '}';
    }
}
  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔表表uuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值