JTree данные из базы данных - PullRequest
       18

JTree данные из базы данных

0 голосов
/ 05 декабря 2009

Я работаю над примером на http://java.sun.com/docs/books/tutorial/uiswing/examples/components/GenealogyExampleProject/src/components/GenealogyExample.java

Я хотел настроить его так, чтобы вместо этого данные извлекались из таблицы (folder_id, folder_name, parent_id [внешний ключ для определения родителя].

Вот мой код

 public Person getGenealogyGraph() throws SQLException {
    Connection con=null;
    Statement st=null;
    ResultSet rs=null;

    String driver ="com.mysql.jdbc.Driver";
    String url="jdbc:mysql://localhost:3306/";
    String db="java";
    con=DriverManager.getConnection(url + db, "root", "");
    ArrayList list=new ArrayList();

    try {
        String sql="Select * from folder";
        st=con.createStatement();
        rs=st.executeQuery(sql);
        list.add("Current Folders");
        while(rs.next()) {
            String folderName = rs.getString("folder_name");
            list.add(folderName);
           // System.out.println(folderName);
            //Person a1 = new Person(folderName);

        }


    } catch (Exception e) {
        System.out.println(e);
    }
    rs.close();
    st.close();
    con.close();

       Object hierarchy[]=list.toArray();
        for(int i=1; i<hierarchy.length; i++) {
           Person a+i=new Person(hierarchy[i]);
        }

Если я жестко закодирую его как Персона a1 = new Person ("Джек (прадедушка)"); работает нормально. Однако я хотел поместить его в цикл с переменной i: -

Object hierarchy[]=list.toArray();
        for(int i=1; i<hierarchy.length; i++) {
           Person a+i=new Person(hierarchy[i]);
 }

Как сделать так, чтобы переменная i и "a" были объединены вместе? В PHP мы обычно объединяем их с "." например, "a". $ i;

Спасибо :) Любой другой пример создания деревьев из базы данных также очень важен. Заранее спасибо

1 Ответ

0 голосов
/ 05 декабря 2009

Я не уверен в том, что ты пытаешься сделать. Но если вы хотите назначить динамическое имя вашим переменным, вы должны хранить ваши объекты в ассоциативном массиве (java.util.Map)

Map<String,Person> map= new HashMap<String,Person>();
(...)
map.put("a"+i,new Person(hierarchy[i]));
...