2014-04-10 34 views
1

我想定義一個具有我的表名稱的String對象,並且在每個表中我都可以訪問我的列行名稱。如何在Java中構建和構造

讓我解釋一下,舉個例子:

我有兩張表; 「任務」和「部分」。

tasks我有2列; 「id」和「taskName」。

parts表我也有2列; 「id」和「name」。

現在我想知道我是如何定義的對象,這樣我就可以以這種方式訪問​​任何列的名稱:

TABLE.tasks.parts 

我想是這樣的(但是這一次是錯的!)

public final class TABLES { 

    public final static String TASKS = "tasks"; 
    public final static String CHUNKS = "chunks"; 

    public final static class TASKS{ 

     public final String COLUMN_ID  = "id"; 
     public final String COLUMN_NAME  = "taskName"; 
    }; 

    public final static class CHUNKS{ 

     public static final String COLUMN_ID  = "id"; 
     public static final String COLUMN_NAME  = "name"; 
    }; 

} 
+0

我想你只是需要得到類的最終靜態。 – Xdevelop

+0

我不確定你在找什麼,但你有沒有考慮使用'enum'? –

+3

您似乎試圖創建反映某些關係模式的Java對象,是嗎?如果是這樣,我建議你或者看看JPA或者像jOOQ完全不同的東西。如果沒有,或者如果你只是想要一些你的模式的輕量級圖片,然後去enum。 –

回答

0

JPA中,Java持久性API,可以做那還有更多。在NetBeans IDE中支持eclipseLink(參考JPA實現)給我留下了深刻的印象。

它可能會像上面提到的那樣將(數據庫的一部分)轉換成數據庫模型類。和具體的數據訪問對象類。此外,還有一個標準API來以這種方式構建整個SQL SELECT。

請注意,生成模型類比基本JPA更進一步。您必須進行一些互聯網搜索,或從數據庫中嘗試NetBeans/New/Persistence/Entity類。

  • Netbeans支持(video)。
  • 純JPA tutorial - 很大程度上沒有您所需的生成的模型類,而是掌握基本的JPA。
0

這不是正確的解決方法。 如果你想要一個數據庫,使用像SQLite這樣的數據庫。 如果你要的對象,你可以做這樣的:

public class Tables{ 

public final static Task task; 
public final static Chunk chunk; 

// or ArrayList<Tasks> tasks if there is more than one task/chunk 

} 

,然後另一個文件Tasks.java

public class Task{ 

    public final String id; 
    public final String name; 

} 

和Chunk.java:

public class Chunk{ 

    public final String id; 
    public final String name; 

} 
+0

我總是這樣說,你說的。回合現在我想有一個地方把所有表列的名稱,並且可以方便地訪問它們 – svp

+0

是的,所以在我的評論上面使用ArrayList,然後你可以通過'Tables.task.get(i).id ' –

0

你應該用戶界面。每當你想在你的應用程序中使用這些選手,只是實現接口,只有常量it..cheer ..

public final class TABLES implements TASKS, CHUNKS{ 
    public static void main(String[] args) { 
     System.out.println(TASKS.COLUMN_ID);  
     System.out.println(CHUNKS.COLUMN_ID); 
    } 
} 

interface TASKS{ 
    public final String COLUMN_ID  = "id"; 
    public final String COLUMN_NAME  = "taskName"; 
} 

interface CHUNKS{ 
    public static String COLUMN_ID  = "id"; 
    public static String COLUMN_NAME  = "name"; 
} 
+0

我真的很感謝你,但那不是我想要的。 – svp

0

例子:

public class TripleField { 

public static void main(String[] args) { 
    System.out.println(TABLE.tasks.id); 
    System.out.println(TABLE.tasks.taskName); 
} 
} 

final class TABLE { 
final static TASKS tasks = new TASKS(); 
} 

class TASKS { 
final String id = "myID"; 
final String taskName ="myTaskName"; 
} 
+0

謝謝你,但那不是我想要的 – svp