写VO类时,继承基础类,是最简单的vo类写法,但是在用mybatisplus时候,就不太好查询,通过这个转换器,可以 进行查询基础类,通过mybatisplus,在转换成VO类
基础实体类示例
@Data
@TableName("table_test")
public class Test{
private Integer id;
private String name;
}
vo类示例
@Data
@TableName("table_test")
public class TestVo extends Test{
private AAA aaa;
}
转换示例
Test test = (mybatisplus查询语句) TestVo testvo = generalConvertor.convertor(test,TestVo.class);
转换器代码,
package com.zst.aim.config;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import javax.annotation.Resource;
import org.springframework.stereotype.Component;
import com.github.dozermapper.core.Mapper;
@Component
public class GeneralConvertor {
@Resource
private Mapper mapper;
public List convertor(List source, Class clz) {
if (source == null || source.size() == 0) {
return null;
}
List map = new ArrayList<>();
for (S s : source) {
map.add(mapper.map(s, clz));
}
return map;
}
public Set convertor(Set source, Class clz) {
if (source == null || source.size() == 0) {
return null;
}
Set set = new TreeSet<>();
for (S s : source) {
set.add(mapper.map(s, clz));
}
return set;
}
public T convertor(S source, Class clz) {
if (source == null) {
return null;
}
return mapper.map(source, clz);
}
public void convertor(Object source, Object object) {
mapper.map(source, object);
}
public void copyConvertor(T source, Object object) {
mapper.map(source, object);
}
}



