丢失精度之后

1247483476722753500

1247483477192515600

真正的数据库数值

1247483476722753538

1247483477184126977

1247483477184126977

解决办法,String--<>---Long 相互替换


@Component
@Lazy(true)
public class DozerGenerator implements IDozerGenerator {

@Autowired
protected Mapper dozerMapper;

@Override
public <T, S> T convert(S s, Class<T> clz) {
if (null == s) {
return null;
}
return dozerMapper.map(s, clz);
}

通过属性名称复制,跳过属性类型,可以复制,不会丢失精度

package org.dozer;

public interface Mapper {
<T> T map(Object var1, Class<T> var2) throws MappingException;

void map(Object var1, Object var2) throws MappingException;

<T> T map(Object var1, Class<T> var2, String var3) throws MappingException;

void map(Object var1, Object var2, String var3) throws MappingException;
}