接下来是什么
时间: 2023-07-03 10:11:10 浏览: 84
3. 创建实体类和 Mapper 接口
在 `com.example.demo` 包下创建一个名为 `User` 的实体类,属性包括 `id` 和 `name`。
```java
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
```
在 `com.example.demo.mapper` 包下创建一个名为 `UserMapper` 的 Mapper 接口,定义对 `User` 实体的增删改查等操作。这个接口需要使用 `@Mapper` 注解标记,以便 MyBatis 能够扫描到它。
```java
@Mapper
public interface UserMapper {
List<User> findAll();
User findById(int id);
void insert(User user);
void update(User user);
void delete(int id);
}
```
在 `src/main/resources` 目录下创建一个名为 `UserMapper.xml` 的 XML 文件,定义 Mapper 接口中方法的具体 SQL。
```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">
<select id="findAll" resultType="User">
SELECT * FROM user
</select>
<select id="findById" parameterType="int" resultType="User">
SELECT * FROM user WHERE id = #{id}
</select>
<insert id="insert" parameterType="User">
INSERT INTO user (name) VALUES (#{name})
</insert>
<update id="update" parameterType="User">
UPDATE user SET name = #{name} WHERE id = #{id}
</update>
<delete id="delete" parameterType="int">
DELETE FROM user WHERE id = #{id}
</delete>
</mapper>
```
4. 创建控制器
在 `com.example.demo` 包下创建一个名为 `UserController` 的控制器,注入 `UserMapper` 接口并使用它进行数据库操作。
```java
@RestController
@RequestMapping("/users")
public class UserController {
@Autowired
private UserMapper userMapper;
@GetMapping("")
public List<User> findAll() {
return userMapper.findAll();
}
@GetMapping("/{id}")
public User findById(@PathVariable int id) {
return userMapper.findById(id);
}
@PostMapping("")
public void insert(@RequestBody User user) {
userMapper.insert(user);
}
@PutMapping("/{id}")
public void update(@PathVariable int id, @RequestBody User user) {
user.setId(id);
userMapper.update(user);
}
@DeleteMapping("/{id}")
public void delete(@PathVariable int id) {
userMapper.delete(id);
}
}
```
在上述代码中,我们通过注解 `@RequestMapping` 指定了该控制器的根路径为 `/users`,并在各个方法上使用了 `@GetMapping`、`@PostMapping`、`@PutMapping`、`@DeleteMapping` 等注解来指定 HTTP 请求的方法和路径。
5. 启动应用程序
在 IDE 中运行该应用程序,或者使用以下命令在命令行中启动:
```
mvn spring-boot:run
```
6. 测试应用程序
使用任何 HTTP 客户端工具(如 Postman)测试应用程序。例如:
- GET /users:获取所有用户。
- GET /users/1:获取 ID 为 1 的用户。
- POST /users:添加一个新用户。
- PUT /users/1:更新 ID 为 1 的用户。
- DELETE /users/1:删除 ID 为 1 的用户。
这就是使用 Spring Boot 和 MyBatis 编写的基本示例。