liulin
2024-08-06 4960dbcc7b6469d84f7cf9ad5288b8fe854c08cd
src/main/java/com/lunhan/xxx/repository/BasicMapperImpl.java
@@ -1,10 +1,11 @@
package com.lunhan.xxx.repository;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.lunhan.xxx.common.PagerResult;
import com.lunhan.xxx.common.enums.ELogger;
@@ -18,7 +19,6 @@
import org.slf4j.Logger;
import org.springframework.dao.EmptyResultDataAccessException;
import javax.persistence.Table;
import java.io.Serializable;
import java.lang.reflect.ParameterizedType;
import java.util.Collection;
@@ -30,8 +30,8 @@
 *
 * @param <T> 数据实体
 */
public abstract class BasicMapperImpl<T> implements BasicMapper<T> {
    protected BaseMapper<T> DB;
public abstract class BasicMapperImpl<T, M extends BasicMapper<T>> implements BasicMapper<T> {
    protected M DB;
    protected Class<T> clazz;
    protected String tableName;
@@ -40,16 +40,17 @@
    /**
     * 构造方法
     */
    public BasicMapperImpl(BaseMapper<T> db) {
    public BasicMapperImpl(M db) {
        this.clazz = (Class<T>) (
                (ParameterizedType) getClass().getGenericSuperclass()
        ).getActualTypeArguments()[0];
        this.DB = db;
        Table annotation = clazz.getAnnotation(Table.class);
        TableName annotation = clazz.getAnnotation(TableName.class);
        if (null == annotation) {
            this.tableName = StringUtils.camelToUnderline(clazz.getSimpleName().replace("PO", ""));
            return;
        }
        this.tableName = annotation.name();
        this.tableName = annotation.value();
    }
    public LambdaQueryWrapper<T> query() {