配置文件
mybatis-plus:
typeAliasesPackage: com.ruoyi.**.domain
mapperLocations: classpath*:mapper/**/*Mapper.xml
configuration:
mapUnderscoreToCamelCase: true
defaultEnumTypeHandler: org.apache.ibatis.type.EnumTypeHandler
aggressiveLazyLoading: true
autoMappingBehavior: PARTIAL
autoMappingUnknownColumnBehavior: NONE
localCacheScope: SESSION
cacheEnabled: true
log-impl: org.apache.ibatis.logging.nologging.NoLoggingImpl
自动填充字段
- 在需要自动填充的字段上添加注解
@TableField(fill = FieldFill.INSERT_UPDATE)
- 只在调用 mybatis-plus 的 api 时生效 ( 手搓 sql 不生效 )
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.utils.SecurityUtils;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig implements MetaObjectHandler {
@Override
public void insertFill(MetaObject metaObject) {
SysUser user = SecurityUtils.getLoginUser().getUser();
this.setFieldValByName("createdBy", user.getUserId(), metaObject);
this.setFieldValByName("createBy", user.getUserId(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
SysUser user = SecurityUtils.getLoginUser().getUser();
this.setFieldValByName("updatedBy", user.getUserId(), metaObject);
this.setFieldValByName("updateBy", user.getUserId(), metaObject);
}
}
与 page-helper 发生包冲突
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>${mybatis-plus-boot-start.version}</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.boot.version}</version>
<exclusions>
<exclusion>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
</exclusion>
</exclusions>
</dependency>
与 mybatis 发生冲突
- 项目里不能同时有 mybatis 和 mybatis-plus, 有的话需要重写一个啥啥啥的, 但是忘了, 所以就酱吧.