一、普通方式
String driver="oracle.jdbc.driver.OracleDriver";
String userName="";
String password="";
String url="jdbc:oracle:thin:@127.0.0.1:1521:dbName";
Class.forName(driver);
Connection conn=DriverManager.getConnection(url,userName,password);
String sql="select clobField from xxx for update";
PreparedStatement ps=conn.prepareStatement(sql,x,x);
ResultSet rs=ps.executeQuery();
while(rs.next()){
oracle.sql.CLOB clob=(oracle.sql.CLOB clob)rs.getClob("clobField");
BufferedReader in = new BufferedReader(clob.getCharacterStream());
StringBuffer strBuf = new StringBuffer();
String str=in.readLine();
while (str!=null) {
strBuf.append(str+"/n");
str=in.readLine();
}
in.close();
BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
out.append("/n"+"添加新东西");
out.close();
}
二、使用HIBERNATE(3.0)操作
实体类属性类型定义为java.sql.Clob
public class ClobEntity{
public ClobEntity(){
}
private java.sql.Clob clobField;
public java.sql.Clob getClobField(){
return clobField;
}
public void setClobField(java.sql.Clob clob){
this.clobField=clob;
}
//其他属性
}
操作方式如下
ClobEntity entity=new ClobEntity();
Session s = HibernateUtil.getInstance().currentSession();
entity.setClobField(Hibernate.createClob(" "));
s.saveOrUpdate(entity);
s.refresh(entity,LockMode.UPDATE);
//SerializableClob 是hibernate3.0中的类,Hibernate.createClob(" ")产生的对象就是此类型
SerializableClob clob= (SerializableClob) entity.getClobField();
Writer writer = ((oracle.sql.CLOB) clob.getWrappedClob()).
getCharacterOutputStream();
writer.write(xxx);
writer.close();
...............................
JAVA读写ORCALE CLOB字段
最新推荐文章于 2022-02-14 12:46:27 发布