springboot+mybatis查询结果集为HashMap时,自动过滤掉null的key问题

Mybatis查询,返回为HashMap或者LinkedHashMap时,某些结果集的字段null,导致map中少key。
修改mybatis配置:
        callSettersOnNulls属性设置为true
        mybatis.configuration.callSettersOnNulls=true
配置完重启即可。
我这里用的sql作为参数,原生sql查询。
        String sql ="Select * from 表名;"
        List> resultMap = dao.selectData(sql);//有序map

mapper写法:

        @Select("${sql}")

        List> selectData(@Param("sql") String sql);


        List columnDataList = new ArrayList();
        for (LinkedHashMap result : resultMap) {
            StringJoiner columnDataJoiner = new StringJoiner("||");
            Iterator iterator = result.entrySet().iterator();
            while (iterator.hasNext()) {
                Map.Entry entry = (Map.Entry) iterator.next();
                columnDataJoiner.add(ObjectUtils.isEmpty(entry.getValue())?"":entry.getValue().toString());//防止map的value为null时替换为""
            }
            columnDataList.add(columnDataJoiner.toString());
        }

你可能感兴趣的:(springboot+mybatis查询结果集为HashMap时,自动过滤掉null的key问题)