Skip to content

Latest commit

 

History

History

mybatis-plus

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

mybatis

官网 文档 github MybatisPlusApplication.java

基础使用

  1. mapper接口继承BaseMapper<T>即可使用mybatis-plus功能。UserMapper.java
  2. 实体类添加@TableName@TableId@TableField注解。User.java

CRUD

使用insertdeleteXXXupdateXXXselectXXX进行。 BaseMain.java

Wrapper

ActiveRecord

可以直接使用实体对象操作。 依然需要定义Mapper文件,即便不在代码中显式使用

扩展插件

mybatis提供的插件,需要手动配置开启

    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
        interceptor.addInnerInterceptor(xxx);
        return interceptor;
    }

部分插件需添加依赖

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-jsqlparser</artifactId>
    <version>3.5.10</version>
</dependency>
  • TenantLineInnerInterceptor: 多租户。TenantMain.java
  • PaginationInnerInterceptor: 分页。PageMain.java
  • DynamicTableNameInnerInterceptor: 动态表名。DynamicTableMain.java
  • OptimisticLockerInnerInterceptor: 乐观锁。LockMain.java
  • BlockAttackInnerInterceptor: 防止全表更新或删除。
  • DataPermissionInterceptor: 数据权限。
  • ReplacePlaceholderInnerInterceptor。

SqlInjector

自定义全局方法

  1. 创建方法类,继承com.baomidou.mybatisplus.core.injector.AbstractMethod, 并实现对应SQL脚本代码。该类对应一个方法。MyAbstractMethod.java
  2. 创建配置类,继承com.baomidou.mybatisplus.core.injector.DefaultSqlInjector,注入创建的方法类。MySqlInjector.java
  3. 创建接口,继承com.baomidou.mybatisplus.core.mapper.BaseMapper, 并增加方法类对应的方法。InjectorMapper.java
  4. 业务接口即可继承该接口,调用对应方法。