要编写一个通用方法,用于接收类名不同但结构相同的实体作为参数,可以使用 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
方法进行更新操作。
通过这种方式,您可以编写一个公用方法,在不同的实体类上使用相同的逻辑进行更新操作。
希望对您有所帮助!如果您还有其他问题,请随时提问。
标签:mapper,同构,GenericMapper,update,公用,UpdateWrapper,public,类名,updateWrapper From: https://blog.51cto.com/u_16007699/7461870