baomidou/mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development

17,464

stars

5,646

commits

Java

primary language

Aug 3, 2026

updated

baomidou.com
mybatis
mybatis-plus
mybatis-spring
mysql
orm
orm-framework
postgresql
toolkit
Browse cluster: SQL databases and ORMs

README

Mybatis-Plus-Logo

Born To Simplify Development

code style code style code style maven

企业版 Mybatis-Mate 高级特性

添加 微信 wx153666 备注进 mp 群

不允许非法项目使用,后果自负

Special user

aizuda-Logo mall4j-Logo

What is MyBatis-Plus?

MyBatis-Plus is a powerful and enhanced toolkit of MyBatis for simplifying development. It provides efficient, and out-of-the-box features (such as code generation, conditional query builders, pagination plugins...), effectively saving development time

Features

  • Fully compatible with MyBatis
  • Auto configuration on startup
  • Out-of-the-box interfaces for operate database
  • Powerful and flexible where condition wrapper
  • Multiple strategy to generate primary key
  • Lambda-style API
  • Almighty and highly customizable code generator
  • Automatic paging operation
  • SQL Inject defense
  • Support active record
  • Support pluggable custom interface
  • Build-in many useful extensions

Getting started

  • Add MyBatis-Plus dependency

    • Latest Version: Maven Central

    • Maven:

    • SpringBoot2

      <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>mybatis-plus-boot-starter</artifactId>
          <version>Latest Version</version>
      </dependency>
      
    • SpringBoot3

      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
        <version>Latest Version</version>
      </dependency>
      
    • SpringBoot4 ^3.5.13

      <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-spring-boot4-starter</artifactId>
      <version>Latest Version</version>
      </dependency>
      
    • ^3.5.9 may need additional citations

      • jdk11+
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-jsqlparser</artifactId>
        <version>Latest Version</version>
      </dependency>
      
      • jdk8
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-jsqlparser-4.9</artifactId>
        <version>Latest Version</version>
      </dependency>
      
    • Gradle

    • SpringBoot2

      implementation group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: 'Latest Version'
      
    • SpringBoot3

      implementation group: 'com.baomidou', name: 'mybatis-plus-spring-boot3-starter', version: 'Latest Version'
      
    • SpringBoot4

      implementation group: 'com.baomidou', name: 'mybatis-plus-spring-boot4-starter', version: 'Latest Version'
      
  • Modify mapper file extends BaseMapper interface

    public interface UserMapper extends BaseMapper<User> {
    
    }
    
  • Use it

    List<User> userList = userMapper.selectList(
            new QueryWrapper<User>()
                    .lambda()
                    .ge(User::getAge, 18)
    );
    

    MyBatis-Plus will execute the following SQL

    SELECT * FROM user WHERE age >= 18
    

This showcase is just a small part of MyBatis-Plus features. If you want to learn more, please refer to the documentation.

License

MyBatis-Plus is under the Apache 2.0 license. See the Apache License 2.0 file for details.

Contributors

(top 30 of 197)

miemieYaho

1,462 commits

qmdx

1,427 commits

nieqiurong

1,069 commits

Caratacus

491 commits

baomidou/mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development

17,464

stars

5,646

commits

Java

primary language

Aug 3, 2026

updated

baomidou.com
mybatis
mybatis-plus
mybatis-spring
mysql
orm
orm-framework
postgresql
toolkit
Browse cluster: SQL databases and ORMs

README

Mybatis-Plus-Logo

Born To Simplify Development

code style code style code style maven

企业版 Mybatis-Mate 高级特性

添加 微信 wx153666 备注进 mp 群

不允许非法项目使用,后果自负

Special user

aizuda-Logo mall4j-Logo

What is MyBatis-Plus?

MyBatis-Plus is a powerful and enhanced toolkit of MyBatis for simplifying development. It provides efficient, and out-of-the-box features (such as code generation, conditional query builders, pagination plugins...), effectively saving development time

Features

  • Fully compatible with MyBatis
  • Auto configuration on startup
  • Out-of-the-box interfaces for operate database
  • Powerful and flexible where condition wrapper
  • Multiple strategy to generate primary key
  • Lambda-style API
  • Almighty and highly customizable code generator
  • Automatic paging operation
  • SQL Inject defense
  • Support active record
  • Support pluggable custom interface
  • Build-in many useful extensions

Getting started

  • Add MyBatis-Plus dependency

    • Latest Version: Maven Central

    • Maven:

    • SpringBoot2

      <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>mybatis-plus-boot-starter</artifactId>
          <version>Latest Version</version>
      </dependency>
      
    • SpringBoot3

      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
        <version>Latest Version</version>
      </dependency>
      
    • SpringBoot4 ^3.5.13

      <dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-spring-boot4-starter</artifactId>
      <version>Latest Version</version>
      </dependency>
      
    • ^3.5.9 may need additional citations

      • jdk11+
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-jsqlparser</artifactId>
        <version>Latest Version</version>
      </dependency>
      
      • jdk8
      <dependency>
        <groupId>com.baomidou</groupId>
        <artifactId>mybatis-plus-jsqlparser-4.9</artifactId>
        <version>Latest Version</version>
      </dependency>
      
    • Gradle

    • SpringBoot2

      implementation group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: 'Latest Version'
      
    • SpringBoot3

      implementation group: 'com.baomidou', name: 'mybatis-plus-spring-boot3-starter', version: 'Latest Version'
      
    • SpringBoot4

      implementation group: 'com.baomidou', name: 'mybatis-plus-spring-boot4-starter', version: 'Latest Version'
      
  • Modify mapper file extends BaseMapper interface

    public interface UserMapper extends BaseMapper<User> {
    
    }
    
  • Use it

    List<User> userList = userMapper.selectList(
            new QueryWrapper<User>()
                    .lambda()
                    .ge(User::getAge, 18)
    );
    

    MyBatis-Plus will execute the following SQL

    SELECT * FROM user WHERE age >= 18
    

This showcase is just a small part of MyBatis-Plus features. If you want to learn more, please refer to the documentation.

License

MyBatis-Plus is under the Apache 2.0 license. See the Apache License 2.0 file for details.

Contributors

(top 30 of 197)

miemieYaho

1,462 commits

qmdx

1,427 commits

nieqiurong

1,069 commits

Caratacus

491 commits

Languages

Java

98.1%

Kotlin

1.6%