springboot mybatis-plus 登录接口
作者:mmseoamin日期:2023-12-05

下面是使用SpringBoot和MyBatis-Plus实现登录接口的示例代码:

  1. 添加依赖

在pom.xml文件中添加以下依赖:


    
    
        org.springframework.boot
        spring-boot-starter-web
    
    
    
        com.baomidou
        mybatis-plus-boot-starter
        3.4.0
    
    
    
        com.h2database
        h2
        1.4.199
    
    

  1. 创建数据库表

创建一个名为user的数据库表,包含以下字段:

字段名类型描述
idBIGINT用户ID
nameVARCHAR用户名
pwdVARCHAR用户密码
  1. 创建实体类

创建一个名为User的实体类,映射数据库表user:

@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class User implements Serializable {
    private static final long serialVersionUID = 1L;
    private Long id;
    private String name;
    private String pwd;
}
  1. 创建Mapper接口

创建一个名为UserMapper的Mapper接口,使用MyBatis-Plus提供的BaseMapper进行CRUD操作:

public interface UserMapper extends BaseMapper {
}
  1. 编写配置文件

在application.properties文件中配置数据库信息:

spring.datasource.url=jdbc:h2:mem:test
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
mybatis-plus.mapper-locations=classpath*:mapper/**/*.xml
mybatis-plus.type-aliases-package=com.example.demo.entity
mybatis-plus.configuration.map-underscore-to-camel-case=true
  1. 编写登录接口

创建一个名为UserController的控制器,在其中编写登录接口:

@RestController
public class UserController {
    @Autowired
    private UserMapper userMapper;
    @PostMapping("/login")
    public String login(@RequestBody User user) {
        QueryWrapper wrapper = new QueryWrapper<>();
        wrapper.eq("name", user.getName()).eq("pwd", user.getPwd());
        User dbUser = userMapper.selectOne(wrapper);
        if (dbUser != null) {
            return "登录成功";
        } else {
            return "登录失败,用户名或密码错误";
        }
    }
}

该接口使用POST方式请求,接收一个User类型的参数user,其中包含用户名和密码。接口通过使用MyBatis-Plus提供的QueryWrapper查询用户信息,如果查询到了数据,则返回登录成功,否则返回登录失败。

  1. 测试登录接口

启动应用程序,在浏览器中访问http://localhost:8080/login,进行登录测试。例如,以下是使用cURL工具进行登录测试的示例命令:

curl -X POST -H "Content-Type: application/json" -d '{"name":"admin","pwd":"123456"}' http://localhost:8080/login

如果返回登录成功,则表示登录接口测试通过。