文档资料
官网:https://baomidou.com/pages/bab2db/
依赖引入
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.3.1</version>
</dependency>
常见配置
逻辑删除配置
# mybatis-plus 配置
# mybatis-plus 配置
mybatis-plus:
configuration:
global-config:
db-config:
#逻辑删除配置
logic-delete-field: deleted # 全局逻辑删除的实体字段名(since 3.3.0,配置后可以忽略不配置步骤2)
logic-delete-value: 1 # 逻辑已删除值(默认为 1)
logic-not-delete-value: 0 # 逻辑未删除值(默认为 0)
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:hosp/mapper/*.xml
@ApiModelProperty(value = "状态")
@TableLogic
@TableField(value = "status",fill = FieldFill.INSERT)
private Integer status;
自动填充配置
@ApiModelProperty(value = "状态")
@TableLogic
@TableField(value = "status",fill = FieldFill.INSERT)
private Integer status;
@ApiModelProperty(value = "创建时间")
@TableField(value = "createdTime", fill = FieldFill.INSERT)
private Date createdTime;
@ApiModelProperty(value = "更新时间")
@TableField(value = "updatedTime", fill = FieldFill.INSERT_UPDATE)
private Date updatedTime;
package com.cy.common.config;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @Author: Hugo
* @CreateTime: 2022-07-22 23:48
* @Description: Mybatis plus Handler配置类 自动填充
*/
@Component
public class CommonMetaObjectHandler implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
this.setFieldValByName("createdTime", new Date(), metaObject);
this.setFieldValByName("updatedTime", new Date(), metaObject);
this.setFieldValByName("status", 1, metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
this.setFieldValByName("updatedTime", new Date(), metaObject);
}
}
乐观锁配置
@ApiModelProperty(value = "版本号")
@Version
@TableField(value = "version")
private Integer version;
package com.cy.common.config;
import com.baomidou.mybatisplus.extension.plugins.OptimisticLockerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;
/**
*
* @CreateTime: 2022-07-22 23:45
* @Description: mybatis-plus 分页插件、乐观锁配置
*/
@Configuration
@EnableTransactionManagement
@MapperScan("com.cy.*.mapper")
public class MybatisPlusConfig {
/**
* 分页插件
*/
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
// paginationInterceptor.setLimit(你的最大单页限制数量,默认 500 条,小于 0 如 -1 不受限制);
return paginationInterceptor;
}
/**
* 乐观锁配置
*/
@Bean
public OptimisticLockerInterceptor optimisticLockerInterceptor() {
return new OptimisticLockerInterceptor();
}
}