引言
很多网站的后端都是基于Spring boot - mybatis进行开发的。
本文以此技术栈进行一个功能模块的开发
以最常见的注册功能为例
全部用最新的版本进行开发
工具
- 操作系统:Windows 10
- Java开发包:JDK 21
- 项目管理工具:Maven 3.6.3
- 项目开发工具:IntelliJ IDEA 2021.1.3 x64
- 数据库:Mysql
- 浏览器:Edge
- 服务器架构:Spring Boot 3.2.5 + MyBatis 3.0.3 + AJAX
部分坐标
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter-test</artifactId>
<version>3.0.3</version>
<scope>test</scope>
</dependency>
功能模块分析
本文开发的是注册模块,所以我们只会用一张表,其他模块思路与本文一致。
开发顺序
-
我们应该遵循:数据库 -> 持久层 -> 业务层 -> 表现层 -> 前端页面 这样的顺序进行开发。
-
功能上,我们应该先做基础功能,并遵循 增 -> 查 -> 删 -> 改的顺序来开发。
创建数据库
制作注册功能,本质是将用户的信息存放到数据库中。
我们建立一个数据库名为db
CREATE DATABASE db character SET utf8;
此时我们就需要考虑用户表中应该有哪些字段。
- 首先应该有一个id并且这个id是唯一且不能为空,也就是主键,并且我们也可以为这个字段设置为自增字段。
- 主要信息。在我们常用的软件上不难看出厂商保留了我们的哪些信息。
如:用户名:username,密码:password。 - 上面这两个是必不可少的,根据我们实际的项目,也可以保存其他的信息
如:手机号:phone,电子邮箱:email,性别:sex,头像:avatar等。
此处我们就选用:自增主键id,用户名username,密码password,性别sex,手机号phone。
后续可能会有一些补充
建表语句:
CREATE TABLE `user` (
`id` bigint NOT NULL,
`username` varchar(32) NOT NULL,
`password` varchar(32) NOT NULL,
`sex` int,
`phone` varchar(32) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci