优化:优化使用的获取泛型工具方法

This commit is contained in:
Charles7c 2023-03-22 21:52:47 +08:00
parent 2600fe22a3
commit 0d17bd2444
2 changed files with 7 additions and 8 deletions

View File

@ -18,7 +18,6 @@ package top.charles7c.cnadmin.common.base;
import java.util.Collection;
import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.query.QueryChainWrapper;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
@ -26,6 +25,8 @@ import com.baomidou.mybatisplus.extension.conditions.update.UpdateChainWrapper;
import com.baomidou.mybatisplus.extension.toolkit.ChainWrappers;
import com.baomidou.mybatisplus.extension.toolkit.Db;
import cn.hutool.core.util.ClassUtil;
/**
* Mapper 基类
*
@ -111,6 +112,6 @@ public interface BaseMapper<T> extends com.baomidou.mybatisplus.core.mapper.Base
* @return 实体类 Class 对象
*/
default Class<T> currentEntityClass() {
return (Class<T>)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseMapper.class, 0);
return (Class<T>)ClassUtil.getTypeArgument(this.getClass(), 0);
}
}

View File

@ -28,7 +28,6 @@ import org.springframework.transaction.annotation.Transactional;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ReflectionKit;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
@ -82,11 +81,10 @@ public abstract class BaseServiceImpl<M extends BaseMapper<T>, T extends BaseDO,
private final Class<V> voClass;
private final Class<D> detailVoClass;
public BaseServiceImpl() {
this.entityClass = (Class<T>)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 1);
this.voClass = (Class<V>)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 2);
this.detailVoClass =
(Class<D>)ReflectionKit.getSuperClassGenericType(this.getClass(), BaseServiceImpl.class, 3);
protected BaseServiceImpl() {
this.entityClass = (Class<T>)ClassUtil.getTypeArgument(this.getClass(), 1);
this.voClass = (Class<V>)ClassUtil.getTypeArgument(this.getClass(), 2);
this.detailVoClass = (Class<D>)ClassUtil.getTypeArgument(this.getClass(), 3);
}
@Override