当前使用版本(必填,否则不予处理)

3.5.5

该问题是如何引起的?(确定最新版也有问题再提!!!)

由于类型进行了泛型擦除,比方说我的数据字段类型为 List 但是 JacksonTypeHandler 的序列化方法使用的是 getObjectMapper().readValue(json, type) 如果改为使用 getObjectMapper().readValue(json, new TypeReference>(){}) 那么可以有效解决这个问题

重现步骤(如果有就写完整)

报错信息

Comment From: miemieYaho

不支持

Comment From: toshawn

问一下什么时候发布 3.5.6 版本 @nieqiurong

Comment From: nieqiurong

已发布3.5.6-SNAPSHOT.

Comment From: HillCheuang

之前我解决过此类类似的问题,需要自定义实现BaseTypeHandler【我是想存List 但是json给我转成了List 主要原因还是因为范行丢失了】以下是我的代码实现

public class LongListTypeHandler extends BaseTypeHandler<List<Long>> {
    @Override
    public void setNonNullParameter(PreparedStatement ps, int i, List<Long> parameter, JdbcType jdbcType) throws SQLException {
        //将 List<Long> 转换为字符串,存储到数据库中
        String str = StringUtils.join(parameter.toArray(), ",");
        ps.setString(i, str);
    }

    @Override
    public List<Long> getNullableResult(ResultSet rs, String columnName) throws SQLException {
        String str = rs.getString(columnName);
        return parse(str);
    }

    @Override
    public List<Long> getNullableResult(ResultSet rs, int columnIndex) throws SQLException {
        String str = rs.getString(columnIndex);
        return parse(str);
    }

    @Override
    public List<Long> getNullableResult(CallableStatement cs, int columnIndex) throws SQLException {
        String str = cs.getString(columnIndex);
        return parse(str);
    }


    private static List<Long> parse(String str) {
        if (StringUtils.isEmpty(str)) {
            return Collections.emptyList();
        }
        String[] arr = str.split(",");
        List<Long> res = new ArrayList<>();
        for (String s : arr) {
            res.add(Long.parseLong(s));
        }
        return res;
    }
}

@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@TableName(value = "test",autoResultMap = true)
public class Test {
    @TableId(type= IdType.AUTO)
    private Long id;

    @TableField(value = "aids",typeHandler = LongListTypeHandler.class)
    private List<Long> aidList;


}

Comment From: loren-coding

这个 xml 文件的 resultMap 生效吗?