public List<IntrospectedTable> introspectTables(DatabaseConfig config)
            throws SQLException {
        if (config.hasProcess()) {
            config.getDatabaseProcess().processStart();
        }
        List<IntrospectedTable> introspectedTables = null;
        try {
            DatabaseConfig localConfig = getLocalDatabaseConfig(config);
            Map<IntrospectedTable, List<IntrospectedColumn>> columns = getColumns(localConfig);

            if (columns.isEmpty()) {
                introspectedTables = new ArrayList<IntrospectedTable>(0);
            } else {
                introspectedTables = calculateIntrospectedTables(localConfig, columns);
                Iterator<IntrospectedTable> iter = introspectedTables.iterator();
                while (iter.hasNext()) {
                    IntrospectedTable introspectedTable = iter.next();
                    //去掉没有字段的表
                    if (!introspectedTable.hasAnyColumns()) {
                        iter.remove();
                    }
                }
            }
        } finally {
            if (config.hasProcess()) {
                config.getDatabaseProcess().processComplete(introspectedTables);
            }
        }
        return introspectedTables;
    }
public List<IntrospectedTable> introspectTables(DatabaseConfig config)
            throws SQLException {
        if (config.hasProcess()) {
            config.getDatabaseProcess().processStart();
        }
        List<IntrospectedTable> introspectedTables = null;
        try {
            DatabaseConfig localConfig = getLocalDatabaseConfig(config);
            Map<IntrospectedTable, List<IntrospectedColumn>> columns = getColumns(localConfig);

            if (columns.isEmpty()) {
                introspectedTables = new ArrayList<IntrospectedTable>(0);
            } else {
                introspectedTables = calculateIntrospectedTables(localConfig, columns);
                Iterator<IntrospectedTable> iter = introspectedTables.iterator();
                while (iter.hasNext()) {
                    IntrospectedTable introspectedTable = iter.next();
                    
                    if (!introspectedTable.hasAnyColumns()) {
                        iter.remove();
                    }
                }
            }
        } finally {
            if (config.hasProcess()) {
                config.getDatabaseProcess().processComplete(introspectedTables);
            }
        }
        return introspectedTables;
    }
public List < IntrospectedTable > introspectTables ( DatabaseConfig config ) throws SQLException { if ( config . hasProcess ( ) ) { config . getDatabaseProcess ( ) . processStart ( ) ; } List < IntrospectedTable > introspectedTables = null ; try { DatabaseConfig localConfig = getLocalDatabaseConfig ( config ) ; Map < IntrospectedTable , List < IntrospectedColumn > > columns = getColumns ( localConfig ) ; if ( columns . isEmpty ( ) ) { introspectedTables = new ArrayList < IntrospectedTable > ( 0 ) ; } else { introspectedTables = calculateIntrospectedTables ( localConfig , columns ) ; Iterator < IntrospectedTable > iter = introspectedTables . iterator ( ) ; while ( iter . hasNext ( ) ) { IntrospectedTable introspectedTable = iter . next ( ) ; //去掉没有字段的表 if ( ! introspectedTable . hasAnyColumns ( ) ) { iter . remove ( ) ; } } } } finally { if ( config . hasProcess ( ) ) { config . getDatabaseProcess ( ) . processComplete ( introspectedTables ) ; } } return introspectedTables ; }
获取表信息

@param config
@return
@throws SQLException
获取表信息