SoFunction
Updated on 2025-04-06

Mybatis plus combined with springboot

Using MyBatis Plus combined with Spring Boot can greatly simplify database operations. MyBatis Plus is an enhancement tool for MyBatis, designed to simplify development and increase efficiency.

1. Add dependencies

First, add the dependencies related to MyBatis Plus and Spring Boot in the file.

<dependencies>
    <!-- Spring Boot Starter Web -->
    <dependency>
        <groupId></groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <!-- Spring Boot Starter Data JPA -->
    <dependency>
        <groupId></groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!-- MyBatis Plus -->
    <dependency>
        <groupId></groupId>
        <artifactId>mybatis-plus-boot-starter</artifactId>
        <version>3.4.3</version>
    </dependency>

    <!-- MySQL Connector -->
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>8.0.23</version>
    </dependency>

    <!-- Lombok for getter/setter/toString/etc. -->
    <dependency>
        <groupId></groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.20</version>
        <scope>provided</scope>
    </dependency>

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

2. Configure database connections

Configure database connection information in the or file.

=jdbc:mysql://localhost:3306/your_database?useSSL=false&amp;serverTimezone=UTC
=your_username
=your_password
-class-name=

# MyBatis Plus Configuration-locations=classpath*:mapper/*.xml
-aliases-package=


spring:
  datasource:
    url: jdbc:mysql://localhost:3306/your_database?useSSL=false&amp;serverTimezone=UTC
    username: your_username
    password: your_password
    driver-class-name: 

# MyBatis Plus Configurationmybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: 

3. Create entity class

Use Lombok annotations to reduce boilerplate code.

import ;
import ;
import ;

@Data
@TableName("user")
public class User {
    @TableId
    private Long id;
    private String name;
    private Integer age;
    private String email;
}

4. Create a Mapper interface

Inheriting the BaseMapper interface, MyBatis Plus provides many convenient methods.

import ;
import ;

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

5. Create a Service Layer

Create a service layer to handle business logic.

import ;
import ;

@Service
public class UserService extends ServiceImpl&lt;UserMapper, User&gt; {
    // Custom business methods can be added}

6. Create Controller Layer

Create a controller layer to handle HTTP requests.

import ;
import .*;

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

    @Autowired
    private UserService userService;

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

    @GetMapping("/{id}")
    public User getUserById(@PathVariable Long id) {
        return (id);
    }

    @PostMapping
    public boolean addUser(@RequestBody User user) {
        return (user);
    }

    @PutMapping("/{id}")
    public boolean updateUser(@PathVariable Long id, @RequestBody User user) {
        (id);
        return (user);
    }

    @DeleteMapping("/{id}")
    public boolean deleteUser(@PathVariable Long id) {
        return (id);
    }
}

7. Start class

Make sure the startup class is in the correct package path so that Spring Boot automatically scans all components.

import ;
import ;

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        (, args);
    }
}

8. Test

Start the application and test whether each interface is working properly.

mvn spring-boot:run

Shortcuts and best practices

  • Lombok: Using Lombok can greatly reduce boilerplate code, such as getter, setter, toString, etc.
  • Global exception handling: Use the @ControllerAdvice annotation to create a global exception handler and handle exceptions in a unified manner.
  • Pagination query: MyBatis Plus provides built-in pagination support, and paging query can be easily implemented using Page objects.
  • Transaction management: Use @Transactional annotation to manage transactions to ensure data consistency and integrity.
  • Logging: Use logback or log4j2 to configure logging for easy debugging and monitoring.

This is the article about the use of Mybatis plus combined with springboot. For more related contents of Mybatis plus combined with springboot, please search for my previous articles or continue browsing the related articles below. I hope everyone will support me in the future!