使用 Spring Boot 集成 MyBatis 实现增删改查操作教程

本教程将详细介绍如何使用 Spring Boot 和 MyBatis 实现对用户数据的增删改查操作,并提供完整代码示例。

1. 添加依赖

首先,你需要在 pom.xml 文件中添加相关依赖:

<dependencies>
    <!-- Spring Boot Starter -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <!-- Spring Boot MyBatis Starter -->
    <dependency>
        <groupId>org.mybatis.spring.boot</groupId>
        <artifactId>mybatis-spring-boot-starter</artifactId>
    </dependency>
    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
    </dependency>
</dependencies>

2. 创建实体类

创建一个实体类 User.java

public class User {
    private Long id;
    private String name;
    private Integer age;
    // ... 省略getter和setter方法
}

3. 创建 Mapper 接口

创建一个 Mapper 接口 UserMapper.java

public interface UserMapper {
    List<User> findAll();
    User findById(Long id);
    void save(User user);
    void update(User user);
    void delete(Long id);
}

4. 创建 Mapper XML 文件

创建一个 Mapper XML 文件 UserMapper.xml

<mapper namespace='com.example.mapper.UserMapper'>
    <resultMap id='userResultMap' type='com.example.entity.User'>
        <id property='id' column='id'/>
        <result property='name' column='name'/>
        <result property='age' column='age'/>
    </resultMap>

    <select id='findAll' resultMap='userResultMap'>
        SELECT * FROM user
    </select>

    <select id='findById' parameterType='java.lang.Long' resultMap='userResultMap'>
        SELECT * FROM user WHERE id = #{id}
    </select>

    <insert id='save' parameterType='com.example.entity.User'>
        INSERT INTO user (name, age) VALUES (#{name}, #{age})
    </insert>

    <update id='update' parameterType='com.example.entity.User'>
        UPDATE user SET name = #{name}, age = #{age} WHERE id = #{id}
    </update>

    <delete id='delete' parameterType='java.lang.Long'>
        DELETE FROM user WHERE id = #{id}
    </delete>
</mapper>

5. 创建 Service 类

创建一个 Service 类 UserServiceImpl.java

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    private UserMapper userMapper;

    @Override
    public List<User> findAll() {
        return userMapper.findAll();
    }

    @Override
    public User findById(Long id) {
        return userMapper.findById(id);
    }

    @Override
    public void save(User user) {
        userMapper.save(user);
    }

    @Override
    public void update(User user) {
        userMapper.update(user);
    }

    @Override
    public void delete(Long id) {
        userMapper.delete(id);
    }
}

6. 创建 Controller 类

创建一个 Controller 类 UserController.java

@RestController
@RequestMapping('/users')
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping
    public List<User> findAll() {
        return userService.findAll();
    }

    @GetMapping('/{id}')
    public User findById(@PathVariable('id') Long id) {
        return userService.findById(id);
    }

    @PostMapping
    public void save(@RequestBody User user) {
        userService.save(user);
    }

    @PutMapping('/{id}')
    public void update(@PathVariable('id') Long id, @RequestBody User user) {
        user.setId(id);
        userService.update(user);
    }

    @DeleteMapping('/{id}')
    public void delete(@PathVariable('id') Long id) {
        userService.delete(id);
    }
}

7. 启动应用并测试

现在,你可以启动 Spring Boot 应用,并访问以下 API 来测试增删改查功能:

  • GET /users:获取所有用户
  • GET /users/{id}:根据 id 获取用户
  • POST /users:创建用户
  • PUT /users/{id}:根据 id 更新用户
  • DELETE /users/{id}:根据 id 删除用户
SpringBoot 集成 MyBatis 实现增删改查操作教程

原文地址: https://www.cveoy.top/t/topic/qmCn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录