文章目录
超市账单管理系统
功能模块:用户登录、用户管理、账单管理、供应商管理
技术应用: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
代码结构如图:
运行效果:
登录页:
主页
用户管理:
编辑页
供应商管理
账单管理