天天看點

java操作資料庫,CLOB類型,處理 ORA-01704: 文字字元串太長 的問題

String str = "很長的字元串";

StringBuffer sb=new StringBuffer();

int len=String.valueOf(mapValue).length();

if(len>2000){

    int s=0;

    int el=1000;

    while(s<len){

        if(s>0){

            sb.append("||");

        }

        String subVal=String.valueOf(mapValue).substring(s,el);

        s=el;

        el=(el+1000)>(len)?(len):(el+1000);

        sb.append(String.format("to_clob('%s')",subVal));

    }

}else {

    sb.append("'").append(mapValue).append("'");

}

String sql = String.format("INSERT INTO TEST(VALUE) VALUES( %s )",sb.toString());

//執行

jdbcTemplate.update(sql);