优秀的编程知识分享平台

网站首页 > 技术文章 正文

一套最基础的SpringBoot整合MyBatis的实现?

nanyue 2025-02-19 13:15:36 技术文章 4 ℃

SpringBoot整合MyBatis 实现数据CRUD操作是学习SpringBoot入门最基础的操作之一,下面是一个简单的示例,演示了如何在SpringBoot中整合MyBatis实现数据查询。首先,我们需要进行数据库设计,然后编写数据访问层接口和MyBatis的映射文件,最后在服务层进行调用。

数据库设计

假设我们有一个名为user的表,包含idusernamepassword字段,如下所示。

CREATE TABLE user (
    id INT PRIMARY KEY AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    password VARCHAR(50) NOT NULL
);

创建实体类

创建一个名为User的实体类,用于映射数据库中的user表。

public class User {
    private Long id;
    private String username;
    private String password;

    // Getter and setter methods
}

创建数据访问层接口

创建一个名为UserMapper的接口,定义数据库操作CRUD方法。可以通过注解扫描的方式,或者是添加@Mapper的方式将Mapper接口映射到容器中。

@Mapper
public interface UserMapper {
    List findAll();
    User findById(Long id);
    void insert(User user);
    void update(User user);
    void delete(Long id);
}

编写MyBatis映射文件

在resources资源目录下创建MyBatis映射文件 UserMapper.xml,定义数据库操作SQL。





    

    

    
        INSERT INTO user (username, password) VALUES (#{username}, #{password})
    

    
        UPDATE user SET username = #{username}, password = #{password} WHERE id = #{id}
    

    
        DELETE FROM user WHERE id = #{id}
    

编写Service层

创建一个名为UserService的服务类,用于调用数据访问层的接口。

@Service
public class UserService {

    @Autowired
    private UserMapper userMapper;

    public List findAll() {
        return userMapper.findAll();
    }

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

    public void insert(User user) {
        userMapper.insert(user);
    }

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

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

控制器层代码

最后,编写一个简单的控制器来调用服务层的方法,并返回查询结果。

@RestController
public class UserController {

    @Autowired
    private UserService userService;

    @GetMapping("/users")
    public List findAll() {
        return userService.findAll();
    }
}

总结

通过以上步骤,就可以实现在 Spring Boot 中整合MyBatis实现数据CRUD的功能。记得在Spring Boot项目的配置文件中配置数据库连接信息和MyBatis的相关配置。

最近发表
标签列表