jdbc 存 oracle数据库CLOB 类型字段

 

public class LogDaoImpl extends HibernateDaoSupport implements LogDao {

 
 public void saveLogInfo(String serviceID, String msg,
   String xmlData,String flag) {
  
    Connection conn = null;
    PreparedStatement ps1=null;
    PreparedStatement ps2=null;
    ResultSet rs2=null;
   // 存储日志信息
   
   try {
   
    conn = newOracleConn.getOracleConn();
    conn.setAutoCommit(false);
    String sql1="insert into sky_service_log (servericetext,serverid,servicename,calltype,err_msg,op_date,flag,note) values (EMPTY_CLOB(),?,?,?,?,?,?,?)";
    
     ps1=conn.prepareStatement(sql1);
    
    ps1.setString(1,serviceID);
    ps1.setString(2," ");
    ps1.setString(3," ");
    ps1.setString(4," ");
    ps1.setTimestamp(5, new Timestamp(new Date().getTime()));
    ps1.setString(6,flag);
    ps1.setString(7," ");
    
    ps1.executeUpdate();
    ps1.close(); //第二步:取出该CLOB

    String sql2="select servericetext from sky_service_log for update";

      ps2=conn.prepareStatement(sql2);

     rs2=ps2.executeQuery();
    while (rs2.next()){
     oracle.sql.CLOB clob=(oracle.sql.CLOB)rs2.getClob(1);
     BufferedWriter out=new BufferedWriter(clob.getCharacterOutputStream());
     out.write(xmlData,0,xmlData.length());
     out.close();
     }
     conn.commit();

  } catch (Exception e) {
   e.printStackTrace();
  }finally {
   try {
    if( rs2!= null)
     rs2.close();
    if (ps2!= null)
     ps2.close();
    if( ps1 != null)
     ps1.close();
    if (conn != null)
     conn.close();
    
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 


}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值