一道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公司 (公司)
|-研发中心 (部门)
|-李四 (人员)
?
跪求大神解答,我弄了两天都没弄出来。。哎哎呀呀呀呀呀。。
万分感谢感谢啊!
------解决方案--------------------代码第56行查询parentId的sql貌似有问题,where后面应该是parentName吧,你给写成了parentId
------解决方案-------------------- if(dbUtil.nodeIsExist(name, type, conn)) {
continue;
}
这个地方进行了判断,如果名字和类型相同就不执行插入操作,而研发中心的名字和类型是完全一样的,所以现在只有一个。你可以判断是否存在数据库,判断之后查询数据库中已存在的那条数据的parentId,然后查询当前要插入数据的parentId,如果parentId不相同就执行插入操作。