| | |
| | | |
| | | } |
| | | |
| | | private Map<String, String> getFieldTypeReference(DatabaseType dbt) { |
| | | public Map<String, String> getFieldTypeReference(DatabaseType dbt) { |
| | | Map<String, String> fieldType = new CaseInsensitiveMap<>(); |
| | | if (dbt == null) { |
| | | return fieldType; |
| | |
| | | * @param queryDataService |
| | | * @return |
| | | */ |
| | | private Map<String, List<Map<String, Object>>> getOracleFieldInfo(QueryDataService queryDataService) { |
| | | public Map<String, List<Map<String, Object>>> getOracleFieldInfo(QueryDataService queryDataService) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" SELECT "); |
| | | sql.append(" T .column_name AS column_name, ");//--列名 |
| | |
| | | * @param queryDataService |
| | | * @return |
| | | */ |
| | | private List<Map<String, Object>> getMysqlFieldInfo(String tableName, QueryDataService queryDataService) { |
| | | public List<Map<String, Object>> getMysqlFieldInfo(String tableName, QueryDataService queryDataService) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" SELECT "); |
| | | sql.append(" COLUMN_NAME column_name, "); |
| | |
| | | * @param queryDataService |
| | | * @return |
| | | */ |
| | | private List<Map<String, Object>> getSqlServerFieldInfo(String tableName, QueryDataService queryDataService) { |
| | | public List<Map<String, Object>> getSqlServerFieldInfo(String tableName, QueryDataService queryDataService) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" SELECT c.name as column_name,t.name as column_type,isnull(c.prec ,0)column_length,isnull(c.scale,0) column_scale "); |
| | | sql.append(" FROM sysobjects o "); |
| | |
| | | * @param queryDataService |
| | | * @return |
| | | */ |
| | | private List<Map<String, Object>> getInformixFieldInfo(String dbName, String tableName, QueryDataService queryDataService) { |
| | | public List<Map<String, Object>> getInformixFieldInfo(String dbName, String tableName, QueryDataService queryDataService) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" select c.colname column_name, "); |
| | | sql.append(" case c.coltype "); |
| | |
| | | * @param queryDataService |
| | | * @return |
| | | */ |
| | | private Map<String, List<Map<String, Object>>> getPSqlFieldInfo(String instance, QueryDataService queryDataService) { |
| | | public Map<String, List<Map<String, Object>>> getPSqlFieldInfo(String instance, QueryDataService queryDataService) { |
| | | StringBuilder sql = new StringBuilder(); |
| | | sql.append(" SELECT case when column_length<0 then 0 else column_length end as column_length,table_name,\"column_name\",column_type,column_comment FROM ( "); |
| | | sql.append(" SELECT C "); |
| | |
| | | return result; |
| | | } |
| | | |
| | | /** |
| | | * 获取字段名称 |
| | | * |
| | | * @param queryDataService |
| | | * @param tableName |
| | | * @param dbe |
| | | * @return |
| | | */ |
| | | private void getFieldName(QueryDataService queryDataService, String tableName, DatabaseEntity dbe, String uuid, DataTableEntity dt, Map<String, String> fieldTypeReference, List<Map<String, Object>> resultList) { |
| | | public void getFieldName(String saveTableName, QueryDataService queryDataService, String tableName, DatabaseEntity dbe, String uuid, DataTableEntity dt, Map<String, String> fieldTypeReference, List<Map<String, Object>> resultList) { |
| | | DatabaseType dbt = dbe.getDbType(); |
| | | if (DatabaseType.MySql.equals(dbt)) { |
| | | resultList = getMysqlFieldInfo(tableName, queryDataService); |
| | |
| | | column_scale = resultList.get(i).get("column_scale".toUpperCase()); |
| | | } |
| | | FieldSetEntity field = new FieldSetEntity(); |
| | | field.setTableName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD); |
| | | field.setTableName(saveTableName); |
| | | if (CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD.equals(saveTableName)) { |
| | | field.setValue("sync_manager_uuid", uuid); |
| | | } |
| | | //表名 |
| | | field.setValue("table_name", tableName.toLowerCase()); |
| | | //字段名 |
| | |
| | | dt.addFieldSetEntity(field); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取字段名称 |
| | | * |
| | | * @param queryDataService |
| | | * @param tableName |
| | | * @param dbe |
| | | * @return |
| | | */ |
| | | public void getFieldName(QueryDataService queryDataService, String tableName, DatabaseEntity dbe, String uuid, DataTableEntity dt, Map<String, String> fieldTypeReference, List<Map<String, Object>> resultList) { |
| | | getFieldName(CmnConst.PRODUCT_SYS_DATABASE_TABLENAME_FIELD, queryDataService, tableName, dbe, uuid, dt, fieldTypeReference, resultList); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param dbe |
| | | * @return |
| | | */ |
| | | private String[] getTableName(QueryDataService queryDataService, DatabaseEntity dbe) { |
| | | public String[] getTableName(QueryDataService queryDataService, DatabaseEntity dbe) { |
| | | if (dbe != null && dbe.getDbType() != null) { |
| | | DatabaseType dbt = dbe.getDbType(); |
| | | String sql = null; |