1 ServiceImpl<M extends BaseMapper, T>
1.1 BaseMapper
继承BaseMapper<T>
后,无需编写 mapper.xml
文件,即可获得CRUD功能
继承该接口后,无需编写 mapper.xml 文件,即可获得CRUD功能
1.2 IService接口
IService是对BaseMapper的扩展,IService 的默认实现com.baomidou.mybatisplus.extension.service.impl.ServiceImpl 就是调用BaseMapper 来操作数据库
1.3 ServiceImpl类
ServiceImpl<M extends BaseMapper, T>
IService 实现类:ServiceImpl ( 泛型:M 是 mapper 对象,T 是实体 )
SupplierController【controller】:{
@Autowired
private SupplierService supplierService;
@PostMapping("/get-supplier-code")
Result<String> getSupplierCode(@RequestBody Map<String, Object> supplierVariableMap,
@RequestParam("scene") String scene) {
String supplierClass = supplierService.getSupplierCode(supplierVariableMap, scene);
return Result.ok(supplierClass);
}
}
public interface SupplierService【service】 {
String getSupplierCode(Map<String, Object> supplierVariableMap, String scene);
}
@Service
public class SupplierServiceImpl【service.impl】 implements SupplierService{
@Autowired
private SupplierRuleManager supplierRuleManager;
public String getSupplierCode(Map<String, Object> supplierVariableMap, String scene) {
String supplierCode = getSupplier(supplierVariableMap, scene);
return supplierCode;
}
public String getSupplier(Map<String, Object> supplierVariableMap, String scene) {
List<SupplierRule> supplierRules = supplierRuleManager.getSupplierRule(systemCode, businessTypeCode, scene);
}
}
public interface SupplierRuleManager【manager】 extends IService<SupplierRule> {
List<SupplierRule> getSupplierRule(String systemCode, String businessTypeCode, String scene);
}
@Service
public class SupplierRuleManagerImpl【manager.impl】 extends ServiceImpl<SupplierRuleMapper, SupplierRule> implements SupplierRuleManager {
public List<SupplierRule> getSupplierRule(String systemCode, String businessTypeCode, String scene) {
QueryWrapper<SupplierRule> wrapper = new QueryWrapper<>();
wrapper.eq("scene", scene);
wrapper.eq("status", Status.NORMAL.getCode());
List<SupplierRule> rules = baseMapper.selectList(wrapper);
rules = rules.stream().filter(i ->
(StringUtils.isBlank(i.getSystemCode()) || StringUtils.equals(i.getSystemCode(), systemCode))
&& (StringUtils.isBlank(i.getBusinessTypeCode()) || StringUtils.equals(i.getBusinessTypeCode(), businessTypeCode))
).collect(Collectors.toList());
return rules;
}
}
@Mapper
@Component
public interface SupplierRuleMapper extends BaseMapper<SupplierRule> {
}