为了账号安全,请及时绑定邮箱和手机立即绑定

java解析字符串,按照树形结构存入数据库--这个问题纠结了我好久,各路大神求帮忙

java解析字符串,按照树形结构存入数据库--这个问题纠结了我好久,各路大神求帮忙

猛跑小猪 2019-03-14 14:15:31
字符串:LDAP://gz.cvte.cn/CN=张三,OU=研发中心,OU=事业部,OU=AAA有限公司,OU=C集团LDAP://gz.cvte.cn/CN=tom,OU=销售部,OU=事业部,OU=AAA有限公司,OU=C集团......表结构:(可以修改,反正能体现到树状结构就好了)idname:名称fatherId: 父Idtype:类型(人员,公司,部门)问题:解析上述字符串,然后按照下列树状形式存入数据库,数据库不限。PS:【上述字符串中 人员的名字, 集团的名字, xxx有限公司的名字都是唯一的】C集团 (公司)|-AA有限公司 (公司)| |-电源事业部门 (部门) | |-研发中心 (部门)| |-张三 (人员)||-BBB公司 (公司)|-研发中心 (部门) |-李四 (人员)请求大神解答,我弄了两天都没弄出来。。哎哎呀呀呀呀呀。。
查看完整描述

6 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

闲来没事,就帮你写写。
先说说表结构,就用你这个结构
id:(自动增长)
name:名称
parentid:父ID
type:类型(人员,公司,部门) 
使用DB------MYSQL5.0

查看完整回答
反对 回复 2019-04-29
?
江户川乱折腾

TA贡献1851条经验 获得超5个赞

String connectionUrl = "jdbc:mysql://localhost:3306/数据库名称?user=用户名&password=密码";
Connection conn = null;
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(connectionUrl);
conn.setAutoCommit(false);
stmt = conn.createStatement();
String[] strs = "CN=张三,OU=研发中心,OU=事业部,OU=AAA有限公司,OU=C集团".split(",");
for (int i = strs.length - 1; i > -1; i--) { // 先有父类才有子类,所以倒过来写
String str = strs[i];
if (i == strs.length - 1) { // 创建ROOT
stmt.executeUpdate("insert into test(id, name, parentid, type) values(null, '"
+ str.substring(str.indexOf("=") + 1)
+ "', 0, '"
+ str.substring(0, str.indexOf("=")) + "')");
conn.commit();
} else { // 创建所有叶节点
stmt.executeUpdate("insert into test(id, name, parentid, type) values(null, '"
+ str.substring(str.indexOf("=") + 1)
+ "', @@IDENTITY, '"
+ str.substring(0, str.indexOf("=")) + "');");
conn.commit();
}
}
} catch (Exception e) {
// 异常处理
} finally {
// 关闭连接,释放资源
}

查看完整回答
反对 回复 2019-04-29
?
MYYA

TA贡献1868条经验 获得超4个赞

File file = new File(文件路径);
try {
BufferedReader br = new BufferedReader(new FileReader(file));
String line = null;
List lists = new ArrayList();
while(null != (line = br.readLine())) {
lists.add(line);
}
return lists; 
} catch (FileNotFoundException e) {

    } catch (IOException e) {

    }


查看完整回答
反对 回复 2019-04-29
  • 6 回答
  • 0 关注
  • 965 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信