本文开发一用户注册与登录的后端java平台。开发完后的网页效果:http://user-front.66bond.com/

后端主要提供用户的注册、查询、删除等操作。使用到的开发工具:

  • IDEA2021; 关注公众号”青椒工具”,发送”IDEA”,获取windows下的IDEA安装包
  • mysql 5.7;关注公众号”青椒工具”,发送”mysql”,获取windows下的mysql5.7安装包;

后端采用java实现,项目采用spring初始化,并进行数据库设计。数据库采用mysql,涉及到后端技术栈:

  • java
  • spring
  • springmvc
  • mybatis
  • mybatis-plus
  • springboot

上述除了mybatis-plus,其余都可以在spring初始化时安装。

1、spring初始化

直接在IDEA开发工具进行初始化,

图1.1spring初始化

图1 spring项目初始化

此处值得注意的是Project SDK是选择jdk版本,你选择好后,IDEA会自动帮你下载安装,不需要自己额外到系统中安装java jdk。

图1.2springboot安装依赖

图2 spring boot需要安装的依赖

这些依赖,可以通过左上角的”搜索框”查找,添加。简单介绍下:

  • Lombok:自动添加get和set方法;

  • Mysql Driver:链接数据库的驱动;

  • Spring web: 支持网络访问接口;

  • MyBatis Framework:操作数据库;

点击Finish后,IDEA会自动去下载需要的依赖包,需要一定的时间,完成下载后如图3所示。

图1.3maven下载完整的依赖包

图3 点击右侧的maven展示依赖包

图4是IDEA初始化后的项目目录,简单扼要介绍下:

  • src: 主要存放源代码, main是业务代码,test是测试代码;
  • pom.xml: 依赖包的配置文件,如果要增加新的依赖包,可以在该文件中配置;

图1.4maven项目左侧

图4 IDEA初始化的项目文件
2、连接数据库及数据库设计

本项目使用mysql数据库,所以我们要先安装mysql数据库,其安装过程及资源可参考如下的视频:

1
https://www.bilibili.com/video/BV1Ra4y1y7Hs/?spm_id_from=333.999.0.0&vd_source=b0e6d0da66db457c6afda440766d8139

完成数据库安装后,我们使用IDEA连接数据库,并初始化数据库。

图1.5IDEA数据库连接

图5 IDEA连接mysql数据库

填写数据库用户和密码,登录数据库,图6所示:

图1.6连接数据库

图6 填写数据库账户名和密码

数据库的root用户和密码是你在安装mysql数据库是设定的,另外,由于是本地数据库,所以URL地址默认是:

1
jdbc:mysql://localhost:3306

鼠标选中mysql的localhost,new->schema,创建名为simpleuser的数据库:

图1.7创建数据库

图7 创建数据库

点击创建出来的simpleuser数据库,鼠标右键再选择”Query Console”,在弹出的窗口中,输入创建我们用户表的命令,如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
DROP TABLE IF EXISTS user;

create table user
(
id bigint auto_increment
primary key,
username varchar(256) null comment '用户名',
userAccount varchar(256) null comment '账户名',
avatarUlr varchar(1024) null comment '用户头像',
gender tinyint null comment '性别',
userPassword varchar(512) null comment '密码',
phone varchar(128) null,
email varchar(512) null,
userStatus int null,
updateTime datetime default CURRENT_TIMESTAMP null,
createTime datetime default CURRENT_TIMESTAMP null,
isDelete tinyint null,
userRole int default 0 null comment '表示用户角色, 0 普通用户, 1 管理员'
)
comment '用户表';

userRole表示用户的身份,1表示管理员,表示普通用户;

isDelete用于逻辑删除,也就是现实生产环境中,删除往往只是逻辑删除,不会真正从数据库中将数据删除;

然后点击绿色执行三角形创建上述的数据库表,如图8所示。

图1.8创建数据库表

图8 使用sql语言创建数据库表

创建完毕后,我们的simpleuser数据库中会多出user这个表格,如此就完成数据库的初始化。

3、安装使用mybatis-plus,跑通demo

为了让mybatis更易于使用,我们需要安装mybatis-plus,即mybatis的增强工具,参考官网的快速开始文档:

1
https://baomidou.com/pages/226c21/

为了安装测试mybatis-plus,我们快速地创建一个mytest数据库,然后参照文档创建user表,并插入数据;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
DROP TABLE IF EXISTS `user`;

CREATE TABLE `user`
(
id BIGINT NOT NULL COMMENT '主键ID',
name VARCHAR(30) NULL DEFAULT NULL COMMENT '姓名',
age INT NULL DEFAULT NULL COMMENT '年龄',
email VARCHAR(50) NULL DEFAULT NULL COMMENT '邮箱',
PRIMARY KEY (id)
);

DELETE FROM `user`;

INSERT INTO `user` (id, name, age, email) VALUES
(1, 'Jone', 18, 'test1@baomidou.com'),
(2, 'Jack', 20, 'test2@baomidou.com'),
(3, 'Tom', 28, 'test3@baomidou.com'),
(4, 'Sandy', 21, 'test4@baomidou.com'),
(5, 'Billie', 24, 'test5@baomidou.com');

引入mybatis-plus依赖,将如下的依赖文件

1
2
3
4
5
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>

添加到 项目的pom.xml文件中如下位置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.5.5</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>

注意要将官方文档中的”最新版本”替换为”3.5.5”。

将项目中的application.properites配置修改为application.yml,即只改后缀,主要原因是yml后缀的配置文件书写更灵活;参照mybatis文档,书写配置文件:

1
2
3
4
5
6
7
8
9
10
spring:
application:
name:user-center
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/mytest
username: root
password: 123456
server:
port: 8080

注意:数据库采用我们为mybatis-plus测试创建的mytest。

在com.tfzhang.backend目录下创建mapper目录,打开项目的启动类:BackendApplication.java

添加””@MapperScan”注解:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
package com.tfzhang.backend;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
@MapperScan("com.tfzhang.backend.mapper")
public class BackendApplication {
public static void main(String[] args) {
SpringApplication.run(BackendApplication.class, args);
}

}

在com.tfzhang.backend目录下创建model目录,其中添加User.java文件,并输入文档中的内容:

1
2
3
4
5
6
7
8
9
10
11
12
package com.tfzhang.backend.model;

import lombok.Data;

@Data
public class User {
private Long id;
private String name;
private Integer age;
private String email;
}

在mapper目录中添加如下的UserMapper文件,添加内容:

1
2
3
4
5
6
7
8
package com.tfzhang.backend.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.tfzhang.backend.model.User;

public interface UserMapper extends BaseMapper<User> {

}

UserMapper主要添加各种操作数据库对应的方法,但是常见的方法在BaseMapper中都有,所以一般不需要我们自己写代码。

在test/java/com.tfzhang.backend/下创建一个SimpleTest测试类,引入必要的依赖包:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.tfzhang.backend;

import com.tfzhang.backend.mapper.UserMapper;
import com.tfzhang.backend.model.User;
import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.util.Assert;

import java.util.List;

@SpringBootTest
public class SampleTest {

@Resource
private UserMapper userMapper;

@Test
public void testSelect() {
System.out.println(("----- selectAll method test ------"));
List<User> userList = userMapper.selectList(null);
Assert.isTrue(5 == userList.size(), "");
userList.forEach(System.out::println);
}
}

然后点击上述java文件左侧的运行三角形,代码开始运行,并输出数据库中的5个条目信息:

图1.9运行测试

图9 运行测试

至此,mybatis-plus的配置与测试完成。由于后期我们使用的数据库是simpleuser,所以在application.yml配置文件中,数据库名mytest要还原为simpleuser,即:

1
2
3
4
5
6
7
spring:
application:
name:user-center
datasource:
driver-class-name: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/simpleuser
...
4、参考资料:

本文参考自如下知识星球中的视频教程,更多的完整的相关视频教程,见如下的收费知识星球,近3万人的学习社区,

编程有人同行,学习不再迷茫

编程导航知识星球