下面是使用SpringBoot和MyBatis-Plus实现登录接口的示例代码:
- 添加依赖
在pom.xml文件中添加以下依赖:
<dependencies>
<!-- SpringBoot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Mybatis Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
<!-- 数据库驱动 -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.199</version>
</dependency>
<!-- 其他依赖... -->
</dependencies>
- 创建数据库表
创建一个名为user
的数据库表,包含以下字段:
字段名 | 类型 | 描述 |
id | BIGINT | 用户ID |
name | VARCHAR | 用户名 |
pwd | VARCHAR | 用户密码 |
- 创建实体类
创建一个名为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;
}
- 创建Mapper接口
创建一个名为UserMapper
的Mapper接口,使用MyBatis-Plus提供的BaseMapper
进行CRUD操作:
public interface UserMapper extends BaseMapper<User> {
}
- 编写配置文件
在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
- 编写登录接口
创建一个名为UserController
的控制器,在其中编写登录接口:
@RestController
public class UserController {
@Autowired
private UserMapper userMapper;
@PostMapping("/login")
public String login(@RequestBody User user) {
QueryWrapper<User> 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
查询用户信息,如果查询到了数据,则返回登录成功,否则返回登录失败。
- 测试登录接口
启动应用程序,在浏览器中访问http://localhost:8080/login
,进行登录测试。例如,以下是使用cURL工具进行登录测试的示例命令:
curl -X POST -H "Content-Type: application/json" -d '{"name":"admin","pwd":"123456"}' http://localhost:8080/login
如果返回登录成功
,则表示登录接口测试通过。