关于MyBatis-plus分页失效的问题
问题描述:使用MP的方法但是在测试的时候在控制台上的SQL执行语句并没有 limit ?, ?的关键字。
一般而言为MP配置失效
@Configuration
public class MybatisPlusConfig {
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor();
paginationInnerInterceptor.setDbType(DbType.MYSQL);
paginationInnerInterceptor.setOverflow(true);
interceptor.addInnerInterceptor(paginationInnerInterceptor);
return interceptor;
}
关于MyBatis-plus中自动更新时间字段、自动修改时间字段等没有生效
排除方法如下
1. 是否成功注入了MP自动更新XX字段的配置
@Component public class MyMetaObjectHandler implements MetaObjectHandler { @Override public void insertFill(MetaObject metaObject) { this.setFieldValByName("gmtCreate", new Date(), metaObject); this.setFieldValByName("gmtModified", new Date(), metaObject); this.setFieldValByName("isDelete", false, metaObject); this.setFieldValByName("version", 1, metaObject); } @Override public void updateFill(MetaObject metaObject) { this.setFieldValByName("gmtModified", new Date(), metaObject); } }
2. 实体类中是否加上相应的注解
@TableField(fill = FieldFill.INSERT)
@ApiModelProperty(value = "创建时间")
private Date gmtCreate;
@TableField(fill = FieldFill.INSERT_UPDATE)
@ApiModelProperty(value = "更新时间")
private Date gmtModified;
3. 是否使用MP自带的方法,而不是自定义的方法