以下为引用的内容:
} catch (Exception e) { throw new RuntimeException("编码错误"); }
for (Iterator iitt = coll.iterator(); iitt.hasNext();) { BusiNode subNode = (BusiNode) iitt.next(); saveBusiNode(subNode, id); }
}
// 最后存储所有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(); // 问号
|