Skip to content

Commit 201c078

Browse files
committed
feat: 实现和配置 TABLE_SCHEMA_MAP
1 parent 72996e9 commit 201c078

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

APIJSONORM/src/main/java/apijson/orm/AbstractSQLConfig.java

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
130130
public static Pattern PATTERN_RANGE;
131131
public static Pattern PATTERN_FUNCTION;
132132

133+
/**
134+
* 表 SCHEMA 映射
135+
*/
136+
public static Map<String, String> TABLE_SCHEMA_MAP;
137+
133138
/**
134139
* 表名映射,隐藏真实表名,对安全要求很高的表可以这么做
135140
*/
@@ -157,6 +162,19 @@ public abstract class AbstractSQLConfig<T extends Object> implements SQLConfig<T
157162
// TODO 改成更好的正则,校验前面为单词,中间为操作符,后面为值
158163
PATTERN_FUNCTION = Pattern.compile("^[A-Za-z0-9%,:_@&~`!=\\<\\>\\|\\[\\]\\{\\} /\\.\\+\\-\\*\\^\\?\\(\\)\\$]+$");
159164

165+
TABLE_SCHEMA_MAP = new HashMap<>();
166+
TABLE_SCHEMA_MAP.put(Table.class.getSimpleName(), DEFAULT_SCHEMA);
167+
TABLE_SCHEMA_MAP.put(Column.class.getSimpleName(), DEFAULT_SCHEMA);
168+
TABLE_SCHEMA_MAP.put(PgClass.class.getSimpleName(), DEFAULT_SCHEMA);
169+
TABLE_SCHEMA_MAP.put(PgAttribute.class.getSimpleName(), DEFAULT_SCHEMA);
170+
TABLE_SCHEMA_MAP.put(SysTable.class.getSimpleName(), DEFAULT_SCHEMA);
171+
TABLE_SCHEMA_MAP.put(SysColumn.class.getSimpleName(), DEFAULT_SCHEMA);
172+
TABLE_SCHEMA_MAP.put(ExtendedProperty.class.getSimpleName(), DEFAULT_SCHEMA);
173+
TABLE_SCHEMA_MAP.put(AllTable.class.getSimpleName(), DEFAULT_SCHEMA);
174+
TABLE_SCHEMA_MAP.put(AllColumn.class.getSimpleName(), DEFAULT_SCHEMA);
175+
TABLE_SCHEMA_MAP.put(AllTableComment.class.getSimpleName(), DEFAULT_SCHEMA);
176+
TABLE_SCHEMA_MAP.put(AllColumnComment.class.getSimpleName(), DEFAULT_SCHEMA);
177+
160178
TABLE_KEY_MAP = new HashMap<>();
161179
TABLE_KEY_MAP.put(Table.class.getSimpleName(), Table.TABLE_NAME);
162180
TABLE_KEY_MAP.put(Column.class.getSimpleName(), Column.TABLE_NAME);
@@ -1320,7 +1338,8 @@ public String getSQLSchema() {
13201338
return ""; //Oracle, Dameng 的 all_tables, dba_tables 和 all_tab_columns, dba_columns 表好像不属于任何 Schema
13211339
}
13221340

1323-
String sch = getSchema();
1341+
//String sch = getSchema();
1342+
String sch = TABLE_SCHEMA_MAP.get(table);
13241343
return sch == null ? DEFAULT_SCHEMA : sch;
13251344
}
13261345
@Override

0 commit comments

Comments
 (0)