解决oracle数据库中clob字段从后台返回到前端问题

工具方法:

1.将Map(key,value)中value值类型为Clob的转换为字符串传到前端的工具方法。

public static HashMap<String,Object> clobToStringByMap(HashMap<String,Object> map){
        if(map==null){
            return map;
        }
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            Object t1=entry.getValue();
            if(t1 instanceof Clob){//将所有Clob类型的字段都转换为String类型
                entry.setValue(clobToString((Clob)t1));
            }
        }
        return map;
    }
public static String clobToString(Clob clob){
        String result="";
        try {
            if (clob instanceof Clob) {
                result=(clob != null ? clob.getSubString(1, (int) clob.length()) : null);
            }
        } catch (Exception e) {
            // TODO: handle exception
        }
        return result;
    }

2.批量将List

public static List<HashMap<String,Object>> clobToStringByList(List<HashMap<String,Object>> mapList){
        if(mapList==null){
            return mapList;
        }
        for (HashMap<String,Object> map : mapList) {
            clobToStringByMap(map);
        }
        return mapList;
    }
public static HashMap<String,Object> clobToStringByMap(HashMap<String,Object> map){
        if(map==null){
            return map;
        }
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            Object t1=entry.getValue();
            if(t1 instanceof Clob){//将所有Clob类型的字段都转换为String类型
                entry.setValue(clobToString((Clob)t1));
            }
        }
        return map;
    }

你可能感兴趣的:(java,oracle)