spring jdbcTemplate操作 CLOB

 public boolean insertOrderLog(OrderLogPojo orderLogPojo) {
  String logIdSql = "SELECT ''||sys_guid() AS LOG_ID FROM DUAL";
  String logId = "";
  List logIdList = jdbcTemplate.queryForList(logIdSql);
  if(logIdList != null && logIdList.size()> 0){
   Map startSet = (Map) logIdList.get(0);
   logId = startSet.get("LOG_ID").toString();
  }
  String insertOrderLogSql = "insert into ORDER_SERVICE_EXCUTE_LOG(LOG_ID,INTERFACE_NAME,METHOD_NAME,EXCUTETIME,"+
    "COMPLETETIME,RETFLAG,PROD_ORDER_ID,APP_NO,INMSG,OUTMSG,ERRMSG,TIME_LONG,RECALL_FLAG) values" +
    "(?,?,?,SYSDATE,SYSDATE," +
    "?,?,?,empty_clob(),empty_clob(),empty_clob(),0,?)";
  
  
  jdbcTemplate.update(insertOrderLogSql,
    new Object[]{
    logId,
    orderLogPojo.getInterfaceName(),
    orderLogPojo.getMethodName(),
    orderLogPojo.getRetFlag(),
    orderLogPojo.getProdOrderId(),
    orderLogPojo.getAppNo(),
    "0"});
  updateClobColumn(orderLogPojo, logId);
  return true;
 }
 
 private void updateClobColumn(OrderLogPojo orderLogPojo, String logId) {
  String inmsg = orderLogPojo.getInmsg();
  if(inmsg != null){
   String updateInmsgSql = "UPDATE ORDER_SERVICE_EXCUTE_LOG set INMSG = INMSG||? WHERE LOG_ID = ? ";
   while (inmsg.length() > 500) {
    String temp = inmsg.substring(0, 500);
    this.jdbcTemplate.update(updateInmsgSql, new Object[] { temp , logId });
    inmsg = inmsg.substring(500);
   }
   this.jdbcTemplate.update(updateInmsgSql, new Object[] { inmsg , logId });
  }
  
  String outmsg = orderLogPojo.getOutmsg();
  if(outmsg != null){
   String updateOutmsgSql = "UPDATE ORDER_SERVICE_EXCUTE_LOG set OUTMSG = OUTMSG||? WHERE LOG_ID = ? ";
   while (outmsg.length() > 500) {
    String temp = outmsg.substring(0, 500);
    this.jdbcTemplate.update(updateOutmsgSql, new Object[] { temp , logId });
    outmsg = outmsg.substring(500);
   }
   this.jdbcTemplate.update(updateOutmsgSql, new Object[] { outmsg , logId });
  }
  
  String errmsg = orderLogPojo.getErrmsg();
  if(errmsg != null){
   String updateErrmsgSql = "UPDATE ORDER_SERVICE_EXCUTE_LOG set ERRMSG = ERRMSG||? WHERE LOG_ID = ? ";
   while (errmsg.length() > 1000) {
    String temp = errmsg.substring(0, 1000);
    this.jdbcTemplate.update(updateErrmsgSql, new Object[] { temp , logId });
    errmsg = errmsg.substring(1000);
   }
   this.jdbcTemplate.update(updateErrmsgSql, new Object[] { errmsg , logId });
  }
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值