将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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于将XML结点转换成JAVABEAN并存入数据库 - 编程入门网的所有评论