网站制作老了,赣州制作网站企业,公司网站优化哪家好,新手做自己的网站这个版本#xff0c;主要是迭代重载了下save方法#xff0c;不废话#xff0c;直接上代码#xff1a; /*** 保存数据#xff0c;处理数据的增删改** param paramData 前台的参数* param dbData 后台的数据* param clazz 前后台参数对应的class* param beanName …这个版本主要是迭代重载了下save方法不废话直接上代码 /*** 保存数据处理数据的增删改** param paramData 前台的参数* param dbData 后台的数据* param clazz 前后台参数对应的class* param beanName spring bean服务实现类名称 首字母转小写* return SUCCESS操作成功*/String saveData(ListT paramData, ListT dbData, Class clazz,String beanName);/*** 重载saveData 自适应找到对应的clazz与beanName** param paramData* param dbData* return*/String saveData(ListT paramData, ListT dbData);
具体实现类对应的重载方法如下 Overridepublic String saveData(ListT paramData, ListT dbData) {if (CollectionUtils.isEmpty(paramData) CollectionUtils.isEmpty(dbData)) {throw new CustomException(入参与数据库数据不能都为空);}Class clazz;clazz CollectionUtils.isNotEmpty(paramData) ? paramData.get(0).getClass() : dbData.get(0).getClass();String name clazz.getSimpleName();char[] charArray name.toCharArray();charArray[0] 32;String possibleBeanName String.valueOf(charArray) ServiceImpl;String beanName ;String[] beanDefinitionNames applicationContext.getBeanDefinitionNames();for (String beanDefinitionName : beanDefinitionNames) {if (beanDefinitionName.indexOf(possibleBeanName) -1) {beanName beanDefinitionName;return saveData(paramData, dbData, clazz, beanName);}}throw new CustomException(根据实体类 name 没找到对应的bean服务);} 然后就是头部加多了
implements ICudDataServiceT, ApplicationContextAware。
通过这个ApplicationContextAware获取到所有bean服务肤浅地以实体类拼凑一下服务名找到bean服务就作为这个调用的bean服务
这个更正都基于
JAVA实现存在更新不存在插入与及多余的进行删除(二)_mybatisplus存在更新否则新增_wackpa的博客-CSDN博客