其他分享
首页 > 其他分享> > 10.品牌分类关联与级联更新

10.品牌分类关联与级联更新

作者:互联网

一、引入分页插件

@Configuration
@EnableTransactionManagement        //开启使用
@MapperScan("com.xunqi.gulimall.product.dao")
public class MyBatisConfig {

    //引入分页插件
    @Bean
    public PaginationInterceptor paginationInterceptor() {
        PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
        // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false
        paginationInterceptor.setOverflow(true);
        // 设置最大单页限制数量,默认 500 条,-1 不受限制
        paginationInterceptor.setLimit(1000);
        return paginationInterceptor;
    }

}

二、模糊查询

  @Override
    public PageUtils queryPage(Map<String, Object> params) {

        //1、获取key
        String key = (String) params.get("key");
        QueryWrapper<BrandEntity> queryWrapper = new QueryWrapper<>();
        //如果传过来的数据不是空的,就进行多参数查询
        if (!StringUtils.isEmpty(key)) {
            queryWrapper.eq("brand_id",key).or().like("name",key);
        }

        IPage<BrandEntity> page = this.page(
                new Query<BrandEntity>().getPage(params),
                queryWrapper
        );

        return new PageUtils(page);
    }

三、关联分类

@Override
public void saveDetail(CategoryBrandRelationEntity categoryBrandRelation) {
    Long brandId = categoryBrandRelation.getBrandId();
    Long catelogId = categoryBrandRelation.getCatelogId();

    //1、查询品牌详细信息
    BrandEntity brandEntity = brandDao.selectById(brandId);
    //2、查询分类详细信息
    CategoryEntity categoryEntity = categoryDao.selectById(catelogId);

    //将信息保存到categoryBrandRelation中
    categoryBrandRelation.setBrandName(brandEntity.getName());
    categoryBrandRelation.setCatelogName(categoryEntity.getName());

    // 保存到数据库中
    this.baseMapper.insert(categoryBrandRelation);
}

四、级联更新

@Transactional(rollbackFor = Exception.class)
@Override
public void updateDetail(BrandEntity brand) {
    //保证冗余字段的数据一致
    baseMapper.updateById(brand);

    if (!StringUtils.isEmpty(brand.getName())) {
        //同步更新其他关联表中的数据
        categoryBrandRelationService.updateBrand(brand.getBrandId(),brand.getName());

        //TODO 更新其他关联
    }
}

标签:10,级联,brand,paginationInterceptor,categoryBrandRelation,关联,key,getName,public
来源: https://www.cnblogs.com/55zjc/p/15971061.html