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;