使用 mybatis 加 spring 加 spring mvc 写一个简单的图书管理系统的登录和注册
时间: 2023-06-27 08:01:36 浏览: 100
好的,下面是一个简单的图书管理系统的登录和注册的实现:
1. 创建数据库表
创建一个名为 `user` 的表,包含以下字段:
```
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
```
2. 配置数据源
在 `application.properties` 文件中配置数据库连接信息:
```
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/book?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=123456
```
3. 添加依赖
在 `pom.xml` 文件中添加以下依赖:
```xml
<dependencies>
<!-- Spring Boot -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- MyBatis -->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.3</version>
</dependency>
<!-- MySQL Connector -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.23</version>
</dependency>
</dependencies>
```
4. 创建实体类和 Mapper
创建 `User` 实体类和 `UserMapper` 接口,用于操作数据库中的 `user` 表。
`User.java`:
```java
public class User {
private int id;
private String username;
private String password;
// getter and setter methods
}
```
`UserMapper.java`:
```java
@Mapper
public interface UserMapper {
@Insert("INSERT INTO user(username, password) VALUES(#{username}, #{password})")
void insert(User user);
@Select("SELECT * FROM user WHERE username=#{username} AND password=#{password}")
User findByUsernameAndPassword(@Param("username") String username, @Param("password") String password);
}
```
5. 配置 MyBatis
在 `application.properties` 文件中配置 MyBatis:
```
# MyBatis
mybatis.mapper-locations=classpath:mapper/*.xml
```
6. 创建 Mapper XML 文件
在 `src/main/resources/mapper` 目录下创建 `UserMapper.xml` 文件,并添加以下内容:
```xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
<!-- empty -->
</mapper>
```
7. 创建 Service 类
创建 `UserService` 类,用于处理登录和注册的逻辑。
`UserService.java`:
```java
@Service
public class UserService {
@Autowired
private UserMapper userMapper;
public void register(User user) {
userMapper.insert(user);
}
public User login(String username, String password) {
return userMapper.findByUsernameAndPassword(username, password);
}
}
```
8. 创建 Controller 类
创建 `UserController` 类,用于接收 HTTP 请求,调用 `UserService` 处理业务逻辑,并返回响应结果。
`UserController.java`:
```java
@RestController
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/register")
public void register(@RequestBody User user) {
userService.register(user);
}
@PostMapping("/login")
public User login(@RequestParam String username, @RequestParam String password) {
return userService.login(username, password);
}
}
```
9. 测试
启动应用,使用 Postman 或其他 HTTP 请求工具,向以下 URL 发送请求进行测试:
- 注册:POST http://localhost:8080/user/register
- 登录:POST http://localhost:8080/user/login
以上就是一个简单的图书管理系统的登录和注册的实现。
阅读全文