0

私は自分のプロジェクトを開発しています。このプロジェクトでは、データベースとテーブル、列がない大規模なデータベースがあります。

したがって、将来、データベース名、テーブル名、または列名を変更する必要がある場合のように、1つの場所でのみ変更を行い、DB名のテーブルまたは列の名前が使用されている場所ですべての変更が自動的に行われるようにする予定です。

次に、列挙型を使用することを決定する必要があります。したがって、列挙型はネストする必要があり、各プロパティは文字列値を持つことができるため、文字列値の変更のみが、使用されたすべての場所を変更できます。

so please help me some buddy to give me some sample of code samll code by which i can do it for my database 

eg DATABASE->TABLE->COLUMNS
public enum DATABASE
{
    //
}

i want enum sample code for database and nested enums for their tables and one of its  nested enum for their columns please help me...!!! 

i have tried it to find it but not got some thing usefull

わかりました、ここで私の答えを得ました

public enum DATABASE
{
  DB1(TABLE.TBL1, TABLE.TBL2);

  private final TABLE[] tblArray;
  private DATABASE(TABLE... tables)
  {
    tblArray = tables;
  }
  public TABLE[] getTables()
  {
    return tblArray;
  }
}
public enum TABLE
{
  TBL1(COLUMN.CLMN1, COLUMN.CLMN2), TBL2(COLUMN.CLMN2);

  private final COLUMN[] clmnArray;
  private TABLE(COLUMN... columns)
  {
    clmnArray = columns;
  }
  public COLUMN[] getColumns()
  {
    return clmnArray;
  }
}
public enum COLUMN
{
  CLMN1, CLMN2;
}

実際、私は列挙型で完璧ではないので、DATABASE、TABLE、およびCOLUMNにアクセスする方法を教えてください。つまり、DB1-> TB1-> CLMN2が必要な場合は、コードの記述方法を教えてください...

4

2 に答える 2

1

列挙型ではありませんが、あなたが望むものだと思います:

public abstract class DATABASE
{
   public static class TABLE_ONE
   {
       public static final String NAME = "TableOne";
       public static final String COL_ONE = "COLUMN_ONE";
       public static final String COL_TWO = "COLUMN_TWO";
   }
}

などの使い方ができますDATABASE.TABLE_ONE.COL_ONE

これが危険だと思う理由: ここで定数を変更すると、DB-Updates も処理する必要があり、ソフトウェアのあるバージョンから別のバージョンにアップグレードする人を気にする必要があります。ので注意してください!

于 2012-12-11T08:15:08.073 に答える
0

次のように試すことができます:

public enum DATABASE
{
    DB1(TABLE.TBL1, TABLE.TBL2);

    private final TABLE[] tblArray;
    private DATABASE(TABLE... tables)
    {
        tblArray = tables;
    }
    public TABLE[] getTables()
    {
        return tblArray;
    }
}
public enum TABLE
{
    TBL1(COLUMN.CLMN1, COLUMN.CLMN2), TBL2(COLUMN.CLMN2);

    private final COLUMN[] clmnArray;
    private TABLE(COLUMN... columns)
    {
        clmnArray = columns;
    }
    public COLUMN[] getColumns()
    {
        return clmnArray;
    }
}
public enum COLUMN
{
    CLMN1, CLMN2;
}
于 2012-12-11T08:07:40.243 に答える