SpringBoot Practice (5): BaseMapper, Iservice e ServiceImpl em mybatis-plus

Mybatis-plus inclui BaseMapper, Iservice duas interfaces e classe ServiceImpl. BaseMapper encapsula CRUD para o método da camada dao e IService encapsula a camada de lógica de negócios. É necessário especificar a classe da camada Dao e a classe de entidade correspondente, que é um aprimoramento a base do BaseMapper, ServiceImpl visa a realização da camada de lógica de negócios, e você pode entender como usá-la se entender a relação entre as três;

 Em um exemplo típico de uso típico, a classe XxImpl herda da classe ServiceImpl e instancia a subclasse XxMapper e a classe de bean persistente de BaseMapper, implementa uma interface XxService customizada (herdando a interface IService) e implementa a adição, exclusão, modificação de CRUD e verificação de função na classe XxImpl, e reescrever o método definido na interface XxService;

@Slf4j
@Service
@DS("ads")
public class TbAdsZtCgrxxDayImpl extends ServiceImpl<TbAdsZtCgrxxDayMapper,TbAdsZtCgrxxDay> implements TbAdsZtCgrxxDayService {

    @Autowired
    private GetResponse getResponse;

    @Override
    public List<TbAdsZtCgrxxDay> selectAllList() {
        return this.baseMapper.selectAllList();
    }

    @Override
    public Future<Boolean> updateBaseInfo(TbAdsZtCgrxxDay cgr) {
       String ztmc=cgr.getZzmc();
        log.info("当前正在处理的采购人是|{}",ztmc );
        try{
            String legalname =getResponse.getBaseInfo(ztmc).get(0).getData().get(0).getLegalName();
            String socialcode= getResponse.getBaseInfo(ztmc).get(0).getData().get(0).getSocialCode();
            cgr.setFrmc(legalname);
            cgr.setXydm(socialcode);
        }catch (Exception ex){
            log.error("法人或者信用代码有空{}",ex.getMessage());
        }finally {
            log.info("任务进行中,线程池剩余任务数量为|{}", CustomMultiThreadingConfig.executor.getThreadPoolExecutor().getQueue().size());
            int result = this.baseMapper.updateBaseInfo(cgr);
            return AsyncResult.forValue(result>0);
        }

    }
}

A relação é a seguinte:

A classe ServiceImpl contém uma instância da interface BaseMapper e implementa a interface Iservice, de modo que a classe XxImpl (onde a lógica de negócios principal é implementada) pode especificar a subinterface de BaseMapper para instanciação ao herdar a classe ServiceImpl (ou seja, TdAdsZtCgrxxDayMapper em o exemplo), E TbAdsZtCgrxxDayService é uma subinterface da interface Iservice, e a classe XxImpl implementa várias funções de lógica de negócios definidas pela interface TdAdsZtCgrxxDaySerivice;

Acho que você gosta

Origin blog.csdn.net/yezonggang/article/details/110954058
Recomendado
Clasificación