1.利用泛型创建PO转DTO的公共方法
方法:
/**
* po转Dto公共方法
* @param r
* @param t
* @param <R> po
* @param <T> dto.class
* @return
* @throws Exception
*/
public <R,T>T poTransDto(R r,Class<T> t) throws Exception {
T obj = t.getDeclaredConstructor().newInstance();
BeanUtil.copyProperties(r, obj);
return obj;
}
使用
@Test
public <T>void test01() throws Exception {
ProductPO po = new ProductPO();
po.setId(1);
po.setName("橘子");
po.setPrice(10.5);
po.setProductNum(10);
//调用方法,返回DTO
ProductDTO dto1 = poTransDto(po, ProductDTO.class);
System.out.println("1111111");
}
2.利用泛型创建共用的返回对象。
使用场景:比方说都要返回集合,及分页数据,但是返回的集合的对象不同,那么就可以使用泛型,创建一个对象进行返回,避免代码冗余。
创建对象
import lombok.Data;
import java.util.List;
@Data
public class QueryResDto<T>{
private List<T> list;
private Ops_Y1 opsY1;
}
使用
public QueryResDto<UserDTO> selectUserList() {
return null;
}
public QueryResDto<ProductDTO> selectProductList() {
return null;
}
泛型简单的使用到这里都结束了