spring boot 使用MyBatis Plus

162 阅读2分钟

Spring Boot 配合 MyBatis Plus 可以非常方便地实现数据持久化操作。MyBatis Plus 是 MyBatis 的一个增强工具,提供了更多的功能,如自动化的 CRUD 操作、分页插件、性能分析插件等。

以下是一个使用 Spring Boot 和 MyBatis Plus 的实例,主要包括以下步骤:

  1. 创建 Spring Boot 项目并添加依赖
  2. 配置数据源
  3. 创建实体类
  4. 创建 Mapper 接口
  5. 创建 Service 和 Controller
  6. 测试

1. 创建 Spring Boot 项目并添加依赖

首先,我们需要创建一个 Spring Boot 项目。可以使用 Spring Initializr 或者 IDE 的插件来创建。创建完成后,我们需要在 pom.xml 文件中添加 MyBatis Plus 和数据库驱动的依赖:

<dependencies>
    <!-- Spring Boot Starter -->
    <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.2</version>
    </dependency>

    <!-- MySQL Driver -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <scope>runtime</scope>
    </dependency>

    <!-- Spring Boot Starter Test -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

2. 配置数据源

接下来,我们需要在 application.properties 文件中配置数据源:

spring.datasource.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

3. 创建实体类

然后,我们需要创建一个实体类来映射数据库中的表。例如,我们有一个 user 表,可以创建一个 User 类:

package com.example.demo.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

@TableName("user")
public class User {
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    private String name;
    private Integer age;
    private String email;

    // getters and setters...
}

在这个类中,我们使用了 @TableName 注解来指定这个类对应的数据库表名,使用了 @TableId 注解来指定主键。

4. 创建 Mapper 接口

接下来,我们需要创建一个 Mapper 接口来执行数据库操作。在 MyBatis Plus 中,我们只需要创建一个接口并继承 BaseMapper 接口,就可以获得大量的 CRUD 方法:

package com.example.demo.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.entity.User;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserMapper extends BaseMapper<User> {
}

5. 创建 Service 和 Controller

然后,我们可以创建一个 Service 类来调用 Mapper 接口的方法:

package com.example.demo.service;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.demo.entity.User;
import com.example.demo.mapper.UserMapper;
import org.springframework.stereotype.Service;

@Service
public class UserService extends ServiceImpl<UserMapper, User> {
}

在这个类中,我们继承了 ServiceImpl 类,并指定了 UserMapperUser 作为泛型参数。这样,我们就可以在这个类中使用 UserMapper 的所有方法。

最后,我们可以创建一个 Controller 类来处理 HTTP 请求:

package com.example.demo.controller;

import com.example.demo.entity.User;
import com.example.demo.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserService userService;

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

    @PostMapping
    public boolean createUser(@RequestBody User user) {
        return userService.save(user);
    }

    // other methods...
}

在这个类中,我们使用了 @RestController@RequestMapping 注解来处理 /users 路径的 HTTP 请求。我们还定义了 getAllUserscreateUser 方法来处理 GET 和 POST 请求。

6. 测试

最后,我们可以启动应用程序并访问 http://localhost:8080/users 来测试我们的应用程序。

以上就是一个使用 Spring Boot 和 MyBatis Plus 的实例。通过这个实例,我们可以看到,使用 MyBatis Plus 可以大大简化我们的数据持久化操作。