springboot简单实现超市账单管理系统

超市账单管理系统

功能模块:用户登录、用户管理、账单管理、供应商管理

技术应用:Springboot框架+Mysql5.7+thymeleaf

项目工具:Maven+jdk1.8+GIT

开发工具:IDEA

测试环境:window7+搜狗浏览器10.0

一、数据库表结构设计

需要三张表:用户表、账单表、供应商表

创建数据库

CREATE DATABASE IF NOT EXISTS market;
1、用户表admin_user
描述 字段 类型 约束
用户id id int 主键自增
用户名 name varchar
密码 password varchar
性别 gender int
年龄 age int
编码 code varchar
手机号 mobile varchar
用户类型 type int

此处表是先创建的实体类,通过插件生成的sql

建表sql:

CREATE TABLE `admin_user`(
    `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'name',
    `password` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'password',
    `gender` INT (11) NOT NULL DEFAULT -1 COMMENT 'gender',
    `age` INT (11) NOT NULL DEFAULT -1 COMMENT 'age',
    `code` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'code',
    `mobile` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'mobile',
    `type` INT (11) NOT NULL DEFAULT -1 COMMENT 'type',
    PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '`admin_user`';
2、供应商表provider
描述 字段 类型 约束
供应商id id int 主键自增
编码 code varchar
供应商名称 name varchar
联系人 linkman varchar
电话 phone varchar
传真 fax varchar
创建时间 createDate Date

建表sql:

CREATE TABLE `provider`(
    `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `code` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'code',
    `name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'name',
    `linkman` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'linkman',
    `phone` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'phone',
    `fax` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'fax',
    `create_date` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT 'createDate',
    PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '`Provider`';
3、账单表bill
描述 字段 类型 约束
账单id id int 主键自增
商品名称 goodsName varchar
商品单位 unit varchar
商品数量 amount int
总金额 price int
供应商id providerId int
供应商id名称 providerName varchar
付款状态 status int
创建时间 createDate Date

建表sql:

CREATE TABLE `bill`(
    `id` INT (11) NOT NULL AUTO_INCREMENT COMMENT 'id',
    `goods_name` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'goodsName',
    `unit` VARCHAR (50) NOT NULL DEFAULT '' COMMENT 'unit',
    `amount` INT (11) NOT NULL DEFAULT -1 COMMENT 'amount',
    `price` INT (11) NOT NULL DEFAULT -1 COMMENT 'price',
    `provider_id` INT (11) NOT NULL DEFAULT -1 COMMENT 'providerId',
    `status` INT (11) NOT NULL DEFAULT -1 COMMENT 'status',
    `create_date` DATETIME NOT NULL DEFAULT '1000-01-01 00:00:00' COMMENT 'createDate',
    PRIMARY KEY (`id`)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT '`bill`';

二、项目准备

1、创建一个maven工程
2、引入jar包
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.booy.springboot</groupId>
    <artifactId>market</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <!--引入springboot父版本-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.2.RELEASE</version>
        <relativePath/>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <!--整合springMVC及相关配置文件-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--mybatis包-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- mysql驱动包 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.29</version>
        </dependency>
        <!--thymeleaf包,注意小版本差异也大-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-thymeleaf</artifactId>
        </dependency>
        <!--分页-->
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.3</version>
        </dependency>
    </dependencies>

    <!--配置资源文件扫描,否则Mapper-->
    <build>
        <!--将springboot的应用程序打包成fat jar的插件-->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.*</include>
                </includes>
            </resource>
        </resources>
    </build>
</project>
3、配置文件

在resources下创建application.properties配置文件

#数据源的基本信息
spring.datasource.url=jdbc:mysql://localhost:3306/market?characterEncoding=utf8
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driverClassName = com.mysql.jdbc.Driver
#mybatis中mapper文件的路径
mybatis.mapper-locations=classpath*:com/booy/boot/dao/mapper/*.xml
#起别名,可省略写mybatis的xml中的resultType的全路径
mybatis.type-aliases-package=com.booy.boot.pojo
#视图解析器,规定访问资源路径的后缀
spring.mvc.view.suffix=.html
4、前端模板

静态页面模板地址:https://download.csdn.net/download/booy123/12564032

三、实现源码

源码地址:https://github.com/booyzhang/bootmarket
代码结构如图:
在这里插入图片描述
运行效果:
登录页:
在这里插入图片描述
主页
在这里插入图片描述
用户管理:
在这里插入图片描述
编辑页
在这里插入图片描述
供应商管理
在这里插入图片描述
账单管理
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章