分页插件
这样编写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;
}