批量增加或修改对象的方法

来源:互联网 发布:nginx 反向代理 跨域 编辑:程序博客网 时间:2024/05/21 03:20

对于传入的对象实现批量的增加或修改功能一定要先删除再增加,否则会出现多个值,由于传入的对象在数据库中可能存在或不存在,所以这一步操作要通过id判断是更新还是新增,最方便的方法就是通过传入的id把数据库中对应的数据删除,再拼装sql语句执行插入操作,最后执行的方法可以使用begin……end的方式,代码如下:

// 删除再插入
  String delSql = "DELETE   FROM  t_1  WHERE  node_id_ IN("
     + Ids
     + ")"
     + ";";
  StringBuilder insertSql = new StringBuilder();
  String prefixSql = "INSERT INTO t_fee_rate(id_,xx_,xx_,xx_,xx_) VALUES";
  String[] nodeArr = nodeIds.split(",");
  for (String nodeId : nodeArr)
  {
   insertSql.append(prefixSql)
    .append("(S_FEE_RATE.nextval" + ",")
    .append(nodeId + ",")
    .append(xxxobj.getCornerMiddle() + ",")
    .append(xxxobj.getMiddle() + ",")
    .append(xxxobj.getAttic() + ",")
    .append(xxxobj.getBasement() + ");");
  }
  try
  {
   this.dao.executeBySql(" BEGIN " + delSql + insertSql + " END;");
  } catch (SQLException e)
  {
   throw new BusinessException(e);
  }
 }

原创粉丝点击