日期:2014-05-20  浏览次数:20708 次

一道java解析字符串,然后以树形结构存入数据库的一道题 --- 各路牛人请搭救一下我吧。
字符串:
LDAP://gz.cvte.cn/CN=张三,OU=研发中心,OU=事业部,OU=AAA有限公司,OU=C集团
LDAP://gz.cvte.cn/CN=tom,OU=销售部,OU=事业部,OU=AAA有限公司,OU=C集团
......

表结构:(可以修改,反正能体现到树状结构就好了)
id
name:名称
fatherId: 父Id
type:类型(人员,公司,部门)

问题:解析上述字符串,然后按照下列树状形式存入数据库,数据库不限。
PS:【上述字符串中 人员的名字, 集团的名字, xxx有限公司的名字都是唯一的】

C集团 (公司)
 |-AA有限公司 (公司)
 |    |-电源事业部门 (部门) 
 |          |-研发中心 (部门)
 |              |-张三 (人员)
 |
 |-BBB公司 (公司)
     |-研发中心 (部门) 
     |-李四  (人员)
?

跪求大神解答,我弄了两天都没弄出来。。哎哎呀呀呀呀呀。。
万分感谢感谢啊!
java 数据库 树状结构 解析

------解决方案--------------------
代码第56行查询parentId的sql貌似有问题,where后面应该是parentName吧,你给写成了parentId
------解决方案--------------------
  if(dbUtil.nodeIsExist(name, type, conn)) {
                    continue;
                }
这个地方进行了判断,如果名字和类型相同就不执行插入操作,而研发中心的名字和类型是完全一样的,所以现在只有一个。你可以判断是否存在数据库,判断之后查询数据库中已存在的那条数据的parentId,然后查询当前要插入数据的parentId,如果parentId不相同就执行插入操作。