add 增加 ServicePlusImpl 自动以实现类 重写移除事务注解方法 防止多数据源失效
This commit is contained in:
parent
c98ab8fb51
commit
46b67fef7a
|
@ -0,0 +1,90 @@
|
||||||
|
package com.ruoyi.common.core.mybatisplus.core;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.toolkit.ClassUtils;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.core.ResolvableType;
|
||||||
|
|
||||||
|
import java.util.Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* IServicePlus 实现类
|
||||||
|
*
|
||||||
|
* @author Lion Li
|
||||||
|
*/
|
||||||
|
@Slf4j
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public class ServicePlusImpl<M extends BaseMapperPlus<T>, T> extends ServiceImpl<M, T> implements IServicePlus<T> {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
protected M baseMapper;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public M getBaseMapper() {
|
||||||
|
return baseMapper;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
protected Class<T> entityClass = currentModelClass();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Class<T> getEntityClass() {
|
||||||
|
return entityClass;
|
||||||
|
}
|
||||||
|
|
||||||
|
protected Class<T> mapperClass = currentMapperClass();
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<T> currentMapperClass() {
|
||||||
|
return (Class<T>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(0).getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<T> currentModelClass() {
|
||||||
|
return (Class<T>) this.getResolvableType().as(ServicePlusImpl.class).getGeneric(1).getType();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected ResolvableType getResolvableType() {
|
||||||
|
return ResolvableType.forClass(ClassUtils.getUserClass(getClass()));
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单条执行性能差
|
||||||
|
*
|
||||||
|
* {@link #saveAll(Collection)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public boolean saveBatch(Collection<T> entityList, int batchSize) {
|
||||||
|
return super.saveBatch(entityList, batchSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean saveOrUpdate(T entity) {
|
||||||
|
return super.saveOrUpdate(entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 单条执行性能差
|
||||||
|
*
|
||||||
|
* {@link #saveAll(Collection)}
|
||||||
|
*/
|
||||||
|
@Deprecated
|
||||||
|
@Override
|
||||||
|
public boolean saveOrUpdateBatch(Collection<T> entityList, int batchSize) {
|
||||||
|
return super.saveOrUpdateBatch(entityList, batchSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateBatchById(Collection<T> entityList, int batchSize) {
|
||||||
|
return super.updateBatchById(entityList, batchSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean saveAll(Collection<T> entityList) {
|
||||||
|
return baseMapper.insertAll(entityList) == entityList.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue