方式使用@Named注解
在映射器上使用@Mapper的uses属性,属性值为转换规则类的Class对象,然后再映射器对应的方法上使用@Mapping注解的qualifiedByName属性,属性值为转换规则类@Named定义的方法名
@Mapper( uses = Timestamp2String.class)
public interface UserConverter{
UserConverter INSTANCE = Mappers.getMapper(UserConverter.class);
@Mapping(target = "createTime", source = "createTime", qualifiedByName = "trans")
@Mapping(target = "updateTime", source = "updateTime", qualifiedByName = "trans")
public UserVO user2UserVO(User user);
}
创建一个转换规则类
public class Timestamp2String {
public static String trans(Timestamp date) {
股票实时交易数据接口,simpledateformat 股票实时交易数据接口,simpledateformat = new SimpleDateFormat("yyyy-MM-dd");
return simpleDateFormat.format(date);
}
}
创建一个转换规则类,在对应的转换方法上标注@Named注解表示转换方法名
public class Timestamp2String {
@Named("trans")
public static String trans(Timestamp date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
return simpleDateFormat.format(date);
}
}
方式使用expression表达式
在映射器对应的转换方法上使用@Mapping注解的expression属性标识转换规则
@Mapper
public interface UserConverter{
UserConverter INSTANCE = Mappers.getMapper(UserConverter.class);
@Mapping(target = "createTime", expression = "java(com.hc.util.Timestamp2String.trans(user.getCreateTime()))")
@Mapping(target = "updateTime", expression = "java(com.hc.util.Timestamp2String.trans(user.getUpdateTime()))")
public UserVO user2UserVO(User user);
}
注意:expression的属性值为需要写全类名.方法名
文章为作者独立观点,不代表股票交易接口观点