/mybatis-plus

An powerful enhanced toolkit of MyBatis for simplify development

Primary LanguageJava

Mybatis-Plus-Logo

Born To Simplify Development

maven code style Join the chat at https://gitter.im/baomidou/mybatis-plus

What is MyBatis-Plus?

MyBatis-Plus is an powerful enhanced toolkit of MyBatis for simplify development. This toolkit provides some efficient, useful, out-of-the-box features for MyBatis, use it can effectively save your development time.

Links

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

    • Maven:
      <dependency>
          <groupId>com.baomidou</groupId>
          <artifactId>mybatis-plus-boot-starter</artifactId>
          <version>3.2.0</version>
      </dependency>
    • Gradle
      compile group: 'com.baomidou', name: 'mybatis-plus-boot-starter', version: '3.1.2'
  • 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.