0
点赞
收藏
分享

微信扫一扫

怎样写一个公用方法,传的参数是同构的但是类名不一样的实体

要编写一个通用方法,用于接收类名不同但结构相同的实体作为参数,可以使用 Java 的泛型来实现。

以下是一个示例代码:

import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;

public interface GenericMapper<T> extends BaseMapper<T> {
}

public class GenericService<T> {

    private GenericMapper<T> mapper;

    public GenericService(GenericMapper<T> mapper) {
        this.mapper = mapper;
    }

    public void updateFieldById(Long id, String fieldName, String fieldValue) {
        // 创建 UpdateWrapper,并设置更新的条件为 ID 等于指定的值
        UpdateWrapper<T> updateWrapper = new UpdateWrapper<>();
        updateWrapper.eq("id", id)
                    .set(fieldName, fieldValue);
        
        // 调用 update 方法进行更新操作
        mapper.update(null, updateWrapper);
    }
}

在这个示例中,我们首先创建了一个 GenericMapper 接口,该接口继承了 BaseMapper 接口,用于通用的数据访问操作。

然后,我们创建了一个 GenericService 类,使用泛型 T 来表示实体类。在构造函数中,我们接收一个 GenericMapper 对象作为参数,用于实现数据访问操作。

updateFieldById 方法中,我们根据传入的 ID、字段名称和字段值创建了一个 UpdateWrapper 对象,并调用 mapper.update 方法进行更新操作。

通过这种方式,您可以编写一个公用方法,在不同的实体类上使用相同的逻辑进行更新操作。

希望对您有所帮助!如果您还有其他问题,请随时提问。

举报

相关推荐

0 条评论