Mybatis-Plus支持
Mybatis-Plus是Mybatis的增强插件,可以简化Mybatis的开发。平台对Mybatis-Plus的使用,提供了BaseEntity
实体类基类。
Maven坐标
xml
<dependency>
<groupId>com.ikingtech.framework</groupId>
<artifactId>sdk-data</artifactId>
</dependency>
字段说明
字段名 | 类型 | 说明 |
---|---|---|
id | String | 主键。 使用Mybatis-Plus的 @TableId 注解标注。 |
createTime | LocalDateTime | 创建时间。 使用Mybatis-Plus的 @TableField 注解标注。新增数据时自动填充。 |
createBy | String | 创建人用户编号。 使用Mybatis-Plus的 @TableField 注解标注。新增数据时自动填充。 |
createName | String | 创建人姓名。 使用Mybatis-Plus的 @TableField 注解标注。新增数据时自动填充。 |
updateTime | LocalDateTime | 更新时间。 使用Mybatis-Plus的 @TableField 注解标注。新增/更新数据时自动填充。 |
updateBy | String | 更新人用户编号。 使用Mybatis-Plus的 @TableField 注解标注。新增/更新数据时自动填充。 |
udpateName | String | 更新人姓名。 使用Mybatis-Plus的 @TableField 注解标注。新增/更新数据时自动填充。 |
Mybatis-Plus分页配置
java
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 分页支持
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setMaxLimit(1000L);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
Mybatis-Plus自动填充配置
java
@Override
public void insertFill(MetaObject metaObject) {
fillValIfNullByName("createBy", Me.id(), metaObject);
fillValIfNullByName("createName", Me.name(), metaObject);
fillValIfNullByName("createTime", LocalDateTime.now(), metaObject);
fillValIfNullByName("updateBy", Me.id(), metaObject);
fillValIfNullByName("updateName", Me.name(), metaObject);
fillValIfNullByName("updateTime", LocalDateTime.now(), metaObject);
}
@Override
public void updateFill(MetaObject metaObject) {
fillValIfNullByName("updateBy", Me.id(), metaObject);
fillValIfNullByName("updateName", Me.name(), metaObject);
fillValIfNullByName("updateTime", LocalDateTime.now(), metaObject);
}
private static void fillValIfNullByName(String fieldName, Object fieldVal, MetaObject metaObject) {
// 如果填充值为空
if (fieldVal == null) {
return;
}
if (metaObject.hasSetter(fieldName)) {
metaObject.setValue(fieldName, fieldVal);
}
}