使用mybatic-plus中的getOne方法写一个登录校验
时间: 2024-01-29 17:02:23 浏览: 55
springboot2.7.10+springSecurity5.7.10+mybatisplus3.5.3.2整合实现用户校验
MyBatis-Plus中的getOne方法可以用来查询符合条件的一条记录,可以用来实现登录校验。下面是使用MyBatis-Plus的getOne方法进行登录校验的示例代码:
首先,我们仍然需要创建一个JavaBean来表示用户:
```java
public class User {
private Long id;
private String username;
private String password;
// 省略getter和setter方法
}
```
接下来,我们需要创建一个Mapper接口来操作用户表:
```java
@Mapper
public interface UserMapper extends BaseMapper<User> {
}
```
在Mapper接口中,我们继承了MyBatis-Plus提供的BaseMapper接口,这样就可以使用MyBatis-Plus提供的方法来操作数据库了。
接下来,我们可以编写一个Service来进行登录校验:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User login(String username, String password) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", username).eq("password", password);
return userMapper.selectOne(wrapper);
}
}
```
在Service中,我们使用QueryWrapper来构造查询条件,然后调用selectOne方法来查询数据库中是否存在符合条件的用户。如果存在,则返回该用户对象,否则返回null。
我们也可以使用MyBatis-Plus提供的getOne方法来实现同样的功能:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public User login(String username, String password) {
QueryWrapper<User> wrapper = new QueryWrapper<>();
wrapper.eq("username", username).eq("password", password);
return userMapper.selectOne(wrapper);
}
}
```
在Service中,我们同样使用QueryWrapper来构造查询条件,然后调用getOne方法来查询数据库中是否存在符合条件的用户。如果存在,则返回该用户对象,否则返回null。
最后,我们可以编写一个Controller来接收登录请求:
```java
@RestController
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/login")
public String login(String username, String password) {
User user = userService.login(username, password);
if (user != null) {
return "登录成功";
} else {
return "用户名或密码错误";
}
}
}
```
在Controller中,我们调用UserService的login方法来进行登录校验,如果返回的用户对象不为null,则表示登录成功,否则返回错误信息。
以上就是使用MyBatis-Plus进行登录校验的示例代码,希望能对你有所帮助。
阅读全文