git项目地址
码云项目地址
- 配置分页插件
- 配置自动填充新增数据时的创建时间、更新时间
- 配置自动填充更新数据时的更新时间
依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.4.0</version>
</dependency>
yaml配置
mybatis-plus:
configuration:
call-setters-on-nulls: true
local-cache-scope: "statement"
log-impl: "org.apache.ibatis.logging.stdout.StdOutImpl"
map-underscore-to-camel-case: true
global-config:
banner: false
mapper-locations: "classpath*:/mapper/**/*.xml"
配置
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.apache.ibatis.reflection.MetaObject;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class MybatisPlusConfig implements MetaObjectHandler {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
return interceptor;
}
@Override
public void insertFill(MetaObject metaObject) {
this.strictInsertFill(metaObject, "gmtCreate", Long.class, System.currentTimeMillis());
this.strictInsertFill(metaObject, "gmtModified", Long.class, System.currentTimeMillis());
}
@Override
public void updateFill(MetaObject metaObject) {
this.strictUpdateFill(metaObject, "gmtModified", Long.class, System.currentTimeMillis());
}
}
POJO
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.example.edu.config.MybatisPlusConfig;
import lombok.Data;
import java.io.Serializable;
@Data
public class BaseModel implements Serializable {
@TableId(type = IdType.AUTO)
private Long id;
@TableField(fill = FieldFill.INSERT)
private Long gmtCreate;
@TableField(fill = FieldFill.INSERT_UPDATE)
private Long gmtModified;
}