分页插件

这样编写db的启动类即可

@SpringBootApplication
@MapperScan("com.tanhua.dubbo.mappers")
public class DubboDBApplication {
    public static void main(String[] args) {
        SpringApplication.run(DubboDBApplication.class, args);
    }

    // 添加分页插件配置
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        return new PaginationInterceptor(); // MyBatis-Plus的分页插件
    }
}

分页查询代码:

//构造分页查询条件
Page<Announcement> announcementPage = new Page<>(page, pagesize);
announcementMapper.selectPage(announcementPage, null);

自动填充

实现MetaObjectHandler
然后重写里面的方法

@Component
public class MyMetaObjectHandler implements MetaObjectHandler {

    /**
     * 插入数据时同时更新created和updated字段
     */
    @Override
    public void insertFill(MetaObject metaObject) {
        Object created = getFieldValByName("created", metaObject);
        if (null == created) {
            //字段为空,可以进行填充
            setFieldValByName("created", new Date(), metaObject);
        }

        Object updated = getFieldValByName("updated", metaObject);
        if (null == updated) {
            //字段为空,可以进行填充
            setFieldValByName("updated", new Date(), metaObject);
        }
    }

    @Override
    public void updateFill(MetaObject metaObject) {
        //更新数据时,直接更新字段
        setFieldValByName("updated", new Date(), metaObject);
    }
    

}

自动填充代码

@Data
public abstract class BasePojo implements Serializable {
    @TableField(fill = FieldFill.INSERT)//当向数据库插入数据时自动填充
    private Date created;

    @TableField(fill = FieldFill.INSERT_UPDATE)//当向数据库插入数据_更新数据时自动填充
    private Date updated;
}