-1

springJdbctemplate crud アプリケーションで、カスタム フィールドを使用して新しいカスタム テーブルを作成するオプションをユーザーに提供したい。データをxmlにダンプすることを提案する人もいます。

ありがとう

4

1 に答える 1

1

次の方法でユーザー テーブルのメタデータを定義する必要があります。
ドメイン クラス(疑似コード):

class UserTableMetadata {
  String tableName;
  // List of personalisable columns
  List<UserTableColumnMetadata> columns;
  // List of personalisable indexes
  List<UserTableIndexMetadata> indexes;
}

class UserTableColumnMetadata {
  // Owner table
  UserTableMetadata table;
  String columnName;
  int jdbcType;
  int lenght;
  int precision;
  boolean nullable;
}

class UserTableIndexMetadata {
  // Owner table
  UserTableMetadata table;
  String indexName;
  boolean unique;
  boolean primary;
  // Index columns
  List<UserTableColumnMetadata> columns;
}

ご覧のとおり、ドメイン クラスは固定されていますが、名前、列、およびインデックスを使用して単純なテーブル定義を構築できます。
その後は簡単です - メタデータの処理 -create table動的な方法で SQL コードを構築します (またはalter table、ユーザーが列定義を変更し、テーブルが既に存在する場合)。
メタデータは XML だけでなくデータベースにも保存できます。好みや要件に基づいて選択するだけです。
楽しみ!

于 2013-08-18T21:42:20.407 に答える