一,项目环境

  • SpringBoot2.2.8
  • SpringSecurity
  • Gradle
  • Mysql
    随便一说:开发工具用Manjaro i3wm下的VSCode,有点香

二,数据库表字段及建表相关操作

  • 用户id,
  • 用户名,
  • 密码,
  • 手机号,
  • 账户锁定状态,
  • 用户使用状态,
  • 用户创建时间,
  • 用户最后登录时间
    (当前示例还没涉及用户权限相关内容哦,预告)

建库语句

CREATE DATABASE /*!32312 IF NOT EXISTS*/`fisha_demo` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

建表语句

CREATE TABLE fisha_demo.fisha_user (
  `user_id` bigint(20) NOT NULL COMMENT '用户id,mybatis_plus雪花算法',
  `account` varchar(50) CHARACTER SET utf8mb4 DEFAULT NULL COMMENT '用户账号',
  `phone` varchar(20) DEFAULT NULL COMMENT '手机号码(国际国内)',
  `locked` tinyint(2) DEFAULT '1' COMMENT '账户是否被锁定。1没被锁,2被锁(用户登录次数超出限制后会被锁定)',
  `deleted` tinyint(2) unsigned DEFAULT '1' COMMENT '账户状态。1正在使用,2被逻辑删除',
  `gmt_created` datetime DEFAULT NULL COMMENT '注册时间',
  `gmt_modified` datetime DEFAULT NULL COMMENT '最后活跃时间',
  PRIMARY KEY (`user_id`) COMMENT '主键索引'
)
ENGINE=InnoDB
DEFAULT CHARSET=utf8
COMMENT='fisha用户实例表';

授权相关

项目使用的数据库用户密码为:java just1508,该用户拥有fisha_demo库所有的操作权限

create user 'java'@'localhost' identified by 'just1508'
grant all privileges on fisha_demo.* to 'java'@'localhost'

三,项目骨架

https://gitee.com/shafish/demo/tree/fisha_demo
骨架完成commits id为:3030819

目录说明

├── build.gradle
├── db
│   └── 数据库设计.md  # 数据库说明文档
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── HELP.md
├── settings.gradle
└── src
    ├── main
    │   ├── java
    │   │   └── cn
    │   │       └── shafish
    │   │           └── fisha_demo
    │   │               ├── config  # 项目java配置类相关
    │   │               ├── controller
    │   │               ├── DemoApplication.java
    │   │               ├── mapper
    │   │               ├── pojo
    │   │               │   ├── dto # 接收与响应相关bean
    │   │               │   └── entity # 数据库实体
    │   │               ├── service
    │   │               │   └── impl
    │   │               └── util
    │   └── resources
    │       ├── application.yml #SpringBoot配置文件
    │       ├── mapper
    │       │   └── FishaUserMapper.xml
    │       ├── static
    │       └── templates
    └── test
        └── java
            └── cn
                └── shafish
                    └── fisha_demo
                        └── DemoApplicationTests.java

其中最重要的为config目录中的配置类和application.yml配置文件,其中有注释,项目可以直接下载本地运行(已配置swagger)

下一章-->自定义用户登录认证过滤器