在 springJdbctemplate crud 应用程序中,我想给用户一个选项来创建一个带有自定义字段的新自定义表。问题是如果我创建查询来创建表,我怎样才能给用户自定义它的选项,因为域类是固定的。有人建议在 xml 中转储数据。
谢谢
在 springJdbctemplate crud 应用程序中,我想给用户一个选项来创建一个带有自定义字段的新自定义表。问题是如果我创建查询来创建表,我怎样才能给用户自定义它的选项,因为域类是固定的。有人建议在 xml 中转储数据。
谢谢
您需要以这种方式定义用户表元数据:
域类(伪代码):
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 中,这只是基于您的偏好和要求的选择。
享受!