SpringBoot、MySQL、mybatis实现用户注册、登录、找回密码功能的代码
时间: 2023-09-25 19:09:19 浏览: 96
以下是使用SpringBoot、MySQL、mybatis实现用户注册、登录、找回密码功能的代码示例。
首先,需要定义数据库表结构,例如:
```sql
CREATE TABLE user (
id int(11) NOT NULL AUTO_INCREMENT,
username varchar(50) NOT NULL,
password varchar(50) NOT NULL,
email varchar(50) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4;
```
接下来,定义用户实体类User:
```java
public class User {
private int id;
private String username;
private String password;
private String email;
// 省略getter和setter方法
}
```
然后,定义mybatis的Mapper接口UserMapper:
```java
@Mapper
public interface UserMapper {
int addUser(User user);
User getUserByUsername(String username);
User getUserByEmail(String email);
int updatePassword(User user);
}
```
接着,编写对应的Mapper.xml文件,实现具体的SQL语句。
在SpringBoot的配置文件application.properties中,配置MySQL数据库连接信息:
```
spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
mybatis.mapper-locations=classpath:mapper/*.xml
```
接下来,编写控制器UserController,实现用户注册、登录、找回密码功能:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/register")
public String register(@RequestBody User user) {
User existingUser = userMapper.getUserByUsername(user.getUsername());
if (existingUser != null) {
return "用户名已存在";
}
existingUser = userMapper.getUserByEmail(user.getEmail());
if (existingUser != null) {
return "邮箱已被注册";
}
userMapper.addUser(user);
return "注册成功";
}
@PostMapping("/login")
public String login(@RequestBody User user) {
User existingUser = userMapper.getUserByUsername(user.getUsername());
if (existingUser == null) {
return "用户名不存在";
}
if (!existingUser.getPassword().equals(user.getPassword())) {
return "密码错误";
}
return "登录成功";
}
@PostMapping("/findPassword")
public String findPassword(@RequestBody User user) {
User existingUser = userMapper.getUserByEmail(user.getEmail());
if (existingUser == null) {
return "该邮箱未注册";
}
existingUser.setPassword(user.getPassword());
userMapper.updatePassword(existingUser);
return "密码修改成功";
}
}
```
最后,启动SpringBoot应用程序,即可测试用户注册、登录、找回密码功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)