快速业务通道

将XML结点转换成JAVABEAN并存入数据库 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-25
所有BusiNode属性    Iterator iitt = node.getBusiNodePropNames().iterator();    while (iitt.hasNext()) {      BusiNode subNode = null;      try {        subNode = (BusiNode) PropertyUtils.getProperty(node,            (String) iitt.next());      } catch (Exception e) {                throw new RuntimeException("编码错误");      }      if (subNode != null) {        saveBusiNode(subNode, id);      }    }    return id;  }  /**   * 插入某个BusiNode的根结点,此方法可能抛出RuntimeException   *   * @param node   * @return   */  private Long saveBareBusiNode(BusiNode node, Long parentNodeId) {    StringBuffer sbForSql = new StringBuffer();    List paramValues = new ArrayList();    genInsertSqlAndParam(node, parentNodeId, node.getAtomicPropNames(),        sbForSql, paramValues);    return new Long(JdbcUtil.queryForLong(        sbForSql.toString(), paramValues.toArray()));  }  /**   * 生成某个结点的插入语句和paramValues数组,此方法可能抛出RuntimeException   *   * @param node   * @param columnNames   * @param sbForSql   * @param paramValues   */  private void genInsertSqlAndParam(BusiNode node, Long parentNodeId,      List columnNames, StringBuffer sbForSql, List paramValues) {    sbForSql.append(" insert into ");    sbForSql.append(MyUtils.getClassBareName(node.getClass()));    List cns = new ArrayList();    cns.addAll(columnNames);    cns.add("parentNodeId");    sbForSql.append(MyUtils.encloseWithCurve(MyUtils        .joinCollectionStrings(cns, ",")));    sbForSql.append(" values ");    List qms = new ArrayList(); // 问号    for (Iterator it = columnNames.iterator(); it.hasNext();) {      qms.add("?");      String cn = (String) it.next();      try {        paramValues.add(PropertyUtils.getProperty(node, cn));      } catch (Exception e) {        throw new RuntimeException(e);      }    }    qms.add("?"); // parentNodeId    paramValues.add(parentNodeId);    sbForSql.append(MyUtils.encloseWithCurve(MyUtil        .joinCollectionStrings(qms, ",")));    sbForSql.append(";select @@identity");  }}

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号