MyBatis-Plus 介绍

basic

MyBatis Plus (MP)

在mybatis基础上做了增强,更简单易用,提升开发效率

mp只是帮你注入了常用crud到mybatis里 注入之前可以说是动态的(根据你entity的字段以及注解变化而变化),但是注入之后是静态的

feature:

* 无侵入:只做了增强,未做改变
* 启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作
* CURD:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求
* 内置分页
* 支持多种数据库

code

  • BaseMapper
  • IService

annotation

@MapperScan
xxxMapper extends BaseMapper<xxModel>

* 常用注解
@TableName

@TableId
@TableField
@EnumValue
@Version: 乐观锁注解
@TableLogic
@KeySequence
@SqlParser

heart function

  • 代码生成器: AutoGenerator
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.1.tmp</version>
</dependency>
  • CURD

Service CURD: IService

    save
    saveOrUpdate
    remove
    update
    get    
    list
    page
    count
    chain

Mapper CURD: BaseMapper

    insert
    update
    select

Mapper层选装件

  • 条件构造器
    wrapper 很重
    维护很麻烦
* AbstractWrapper
    allEq
    eq
    ne
    gt, ge, lt, le
    between, notBetween
    like, notLike, likeLeft,likeRight
    isNull, isNotNull
    ...
* UpdateWrapper
  • 分页插件
  • Sequence主键
  • 自定义ID生成器:默认使用雪花算法+UUID

插件扩展

  • MybatisX 快速开发插件
  • Sql 注入器
  • 性能分析

reference

mybatis-doc

mybatis-plus Q&A