文章目錄
超市賬單管理系統
功能模塊:用戶登錄、用戶管理、賬單管理、供應商管理
技術應用: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
代碼結構如圖:
運行效果:
登錄頁:
主頁
用戶管理:
編輯頁
供應商管理
賬單管理