这是我几年前写的文章了,一直没有发出来。今天给大家分享。大家从这个例子如手吧。这个例子,存和取都很明白了 
  
  
import java.sql.*;  import java.io.*;  import oracle.jdbc.driver.OracleResultSet; import oracle.sql.CLOB; 
public class TestOracleClob implements Serializable{   public static void main(String[] args)   {    //create table test (id integer,content clob);   System.out.println("-------------------insert -----------------");   try{   Class.forName("oracle.jdbc.driver.OracleDriver");   Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");   //con.setAutoCommit(false);   //Ok 1   String sql="insert into test values(1,empty_clob())";   Statement stmt=con.createStatement();   ResultSet rs=stmt.executeQuery(sql);   String sqll="select content from test where id=1 for update";   ResultSet rss=stmt.executeQuery(sqll);   if(rss.next()){    CLOB clob = ((OracleResultSet)rss).getCLOB(1);    clob.putString(1,"ddddddddddddddddddddddddddddddddddd");    sql="update test set content=? where id=1";    PreparedStatement pstmt=con.prepareStatement(sql);    pstmt.setClob(1,clob);    pstmt.executeUpdate();    pstmt.close();   }   //Ok 2   //String sql1="insert into test values(2,empty_clob())";   //ResultSet rs3=stmt.executeQuery(sql1);   String sql12="insert into test values(?,?)";   PreparedStatement pstmt1=con.prepareStatement(sql12);   pstmt1.setInt(1,2);   pstmt1.setClob(2,oracle.sql.CLOB.empty_lob());   pstmt1.executeUpdate();   String sqll2="select content from test where id=2 for update";   ResultSet rss2=stmt.executeQuery(sqll2);   if(rss2.next()){    CLOB clob = ((OracleResultSet)rss2).getCLOB(1);    clob.putString(1,"affffffffffdfdfdfdddddddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdddfff");    String sql1="update test set content=? where id=2";    PreparedStatement pstmt=con.prepareStatement(sql1);    pstmt.setClob(1,clob);    pstmt.executeUpdate();    pstmt.close();   }   //con.commit();   rss.close();   rss2.close();   pstmt1.close();   rs.close();   stmt.close();   con.close();   System.out.println("-------------insert ok-------------");   }catch(Exception e){    System.out.println("insert:"+e);   }   System.out.println("-------------------query -----------------");   try{   String content="";   Class.forName("oracle.jdbc.driver.OracleDriver");   Connection con=DriverManager.getConnection("jdbc:oracle:thin:@fangm:1521:LICSFC","SFC","SFC");   Statement stmt=con.createStatement();   String sql="select content from test where id=1";   ResultSet rs=stmt.executeQuery(sql);   if(rs.next()){    CLOB clob = ((OracleResultSet)rs).getCLOB(1);    if(clob!=null){    Reader is=clob.getCharacterStream();    BufferedReader br=new BufferedReader(is);    String s=br.readLine();    while(s!=null){     content+=s+",";     s=br.readLine();     }    }       }   rs.close();   stmt.close();   con.close();   System.out.println("clob:"+content);   System.out.println("-------------query ok-------------");   }catch(Exception ee){    System.out.println("query:"+ee);   }     }  }  
 
  |