public class getColb{
public void getclob(){
try{
DataSource dao=(DataSource)ComponentFactory.getBean("dataSource");
Connection con=dao.getConnection();
con.setAutoCommit(false);
PreparedStatement ps=con.prepareStatement("update yc_news set news_title=?,news_content=?,news_secondtitle=?,news_summary=?,news_author=?,news_source=?," +
"news_annex=?,news_time=?,news_open=?,news_keywords=?,news_approve=?,istop=?,browsenum=?,news_comment=?,news_refuse=?,news_auditor=? where news_id=?");
ps.setString(1,news.getNewstitle());
ps.setClob(2,CLOB.empty_lob());
ps.setString(3,news.getNewssecondtitle());
ps.setString(4,news.getNewssummary());
ps.setString(5,news.getNewsauthor());
ps.setString(6,news.getNewssource());
ps.setString(7,news.getNewsannex());
if(news.getNewstime()==null||"".equals(news.getNewstime())) {
Timestamp ctim=new Timestamp((new java.util.Date()).getTime());
news.setNewstime(ctim);
}
ps.setTimestamp(8,news.getNewstime());
ps.setString(9,news.getNewsopen());
ps.setString(10,news.getNewskeywords());
ps.setString(11,news.getNewsapprove());
ps.setInt(12,news.getIstop());
ps.setInt(13,news.getBrowsenum());
ps.setString(14,news.getNewscomment());
ps.setString(15,news.getNewsrefuse());
ps.setString(16,news.getNewsauditor());
ps.setInt(17,news.getNewsid());
ps.executeUpdate();
ps.close();
ps=con.prepareStatement("select news_content from yc_news where news_id=? for update");
ps.setInt(1,news.getNewsid());
ResultSet rs=ps.executeQuery();
if(rs.next()){
LobPros.modifyClob(rs,1,news.getNewscontent());
}
rs.close();
ps.close();
con.commit();
con.close();
}
catch(Exception e){
e.printStackTrace();
}
}
}
public class LobPros { public static String readClob(ResultSet rs,String fname)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); if(fname==null||fname.length()==0)throw new SQLException("fname couldn't be null"); oracle.sql.CLOB clob=(oracle.sql.CLOB)rs.getClob(fname); BufferedReader in=new BufferedReader(clob.getCharacterStream()); StringBuffer sbRet=new StringBuffer(4096); int c; while((c=in.read())!=-1){ sbRet.append((char)c); } in.close(); return sbRet.toString(); } catch(Exception e){ e.printStackTrace(); return null; } } public static String readClob(ResultSet rs,int i)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); oracle.sql.CLOB clob=(oracle.sql.CLOB)rs.getClob(i); BufferedReader in=new BufferedReader(clob.getCharacterStream()); StringBuffer sbRet=new StringBuffer(4096); int c; while((c=in.read())!=-1){ sbRet.append((char)c); } in.close(); return sbRet.toString(); } catch(Exception e){ e.printStackTrace(); return null; } } public static void insertClob(ResultSet rs,String fname,String sValue)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); if(fname==null||fname.length()==0)throw new SQLException("fname couldn't be null"); CLOB clob=(CLOB)rs.getClob(fname); BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream()); BufferedReader in=new BufferedReader(new StringReader(sValue)); int c; while((c=in.read())!=-1){ out.write(c); } in.close(); out.close(); } catch(Exception e){ e.printStackTrace(); } } public static void insertClob(ResultSet rs,int i,String sValue)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); CLOB clob=(CLOB)rs.getClob(i); java.io.Writer pw=clob.getCharacterOutputStream(); pw.write(sValue); pw.flush(); pw.close(); } catch(Exception e){ e.printStackTrace(); } } public static void modifyClob(ResultSet rs,String fname,String sValue)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); if(fname==null||fname.length()==0)throw new SQLException("fname couldn't be null"); CLOB clob=(CLOB)rs.getClob(fname); BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream()); BufferedReader in=new BufferedReader(new StringReader(sValue)); int c; while((c=in.read())!=-1){ out.write(c); } in.close(); out.close(); } catch(Exception e){ e.printStackTrace(); } } public static void modifyClob(ResultSet rs,int i,String sValue)throws SQLException{ try{ if(rs==null) throw new SQLException("ResultSet Don't Be Ready!"); CLOB clob=(CLOB)rs.getClob(i); java.io.Writer pw=clob.getCharacterOutputStream(); pw.write(sValue); pw.flush(); pw.close(); } catch(Exception e){ e.printStackTrace(); } }}