处理oracle 大字符串类型(CLOB)读取
在数据库读取clob类型 返回的list中 如果数据超大 会报错,例如类型超4000 ,或Long类型只能绑定Long类型的值(大概意思如此)
这时需要单独处理下clob类型的数据即可(需要注意,clob是从磁盘IO中读取,效率很慢,能躲尽量躲)
//从数据库中获取包含clob类型的list
List<Map> resultList = dao.getList();
//单独处理list类型 for(Map<String, Object> data:resultList){ for(String key:data.keySet()){ if(data.get(key) instanceof Clob){ Clob clob = (Clob) data.get(key); try { data.put(key, clob.getSubString((long)1,(int)clob.length())); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }
return resultList;