DBMetadata-core/src/main/java/com/github/abel533/database/introspector/SqlServerIntrospector.java
protected Map<String, String> getTableComments(DatabaseConfig config) throws SQLException {
        Map<String, String> answer = new HashMap<String, String>();
        try {
            StringBuilder sqlBuilder = new StringBuilder("select a.name tname, b.value comments ");
            sqlBuilder.append("from sys.tables a left join sys.extended_properties b on a.object_id=b.major_id    ");
            sqlBuilder.append("where b.minor_id=0 and b.name = 'MS_Description'   ");
            sqlBuilder.append("and a.schema_id in (   ");
            sqlBuilder.append("    select schema_id from sys.schemas  ");
            if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                sqlBuilder.append(" where name like ?   ");
            }
            sqlBuilder.append(")  and b.value is not null ");
            PreparedStatement preparedStatement = dbMetadataUtils.getConnection().prepareStatement(sqlBuilder.toString());
            if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                preparedStatement.setString(1, config.getSchemaPattern());
            }
            ResultSet rs = preparedStatement.executeQuery();
            while (rs.next()) {
                answer.put(rs.getString(dbMetadataUtils.convertLetterByCase("tname")), rs.getString(dbMetadataUtils.convertLetterByCase("comments")));
            }
            closeResultSet(rs);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return answer;
    }
protected Map<String, String> getTableComments(DatabaseConfig config) throws SQLException {
        Map<String, String> answer = new HashMap<String, String>();
        try {
            StringBuilder sqlBuilder = new StringBuilder("select a.name tname, b.value comments ");
            sqlBuilder.append("from sys.tables a left join sys.extended_properties b on a.object_id=b.major_id    ");
            sqlBuilder.append("where b.minor_id=0 and b.name = 'MS_Description'   ");
            sqlBuilder.append("and a.schema_id in (   ");
            sqlBuilder.append("    select schema_id from sys.schemas  ");
            if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                sqlBuilder.append(" where name like ?   ");
            }
            sqlBuilder.append(")  and b.value is not null ");
            PreparedStatement preparedStatement = dbMetadataUtils.getConnection().prepareStatement(sqlBuilder.toString());
            if (StringUtils.isNotEmpty(config.getSchemaPattern())) {
                preparedStatement.setString(1, config.getSchemaPattern());
            }
            ResultSet rs = preparedStatement.executeQuery();
            while (rs.next()) {
                answer.put(rs.getString(dbMetadataUtils.convertLetterByCase("tname")), rs.getString(dbMetadataUtils.convertLetterByCase("comments")));
            }
            closeResultSet(rs);
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        return answer;
    }
protected Map < String , String > getTableComments ( DatabaseConfig config ) throws SQLException { Map < String , String > answer = new HashMap < String , String > ( ) ; try { StringBuilder sqlBuilder = new StringBuilder ( "select a.name tname, b.value comments " ) ; sqlBuilder . append ( "from sys.tables a left join sys.extended_properties b on a.object_id=b.major_id    " ) ; sqlBuilder . append ( "where b.minor_id=0 and b.name = 'MS_Description'   " ) ; sqlBuilder . append ( "and a.schema_id in (   " ) ; sqlBuilder . append ( "    select schema_id from sys.schemas  " ) ; if ( StringUtils . isNotEmpty ( config . getSchemaPattern ( ) ) ) { sqlBuilder . append ( " where name like ?   " ) ; } sqlBuilder . append ( ")  and b.value is not null " ) ; PreparedStatement preparedStatement = dbMetadataUtils . getConnection ( ) . prepareStatement ( sqlBuilder . toString ( ) ) ; if ( StringUtils . isNotEmpty ( config . getSchemaPattern ( ) ) ) { preparedStatement . setString ( 1 , config . getSchemaPattern ( ) ) ; } ResultSet rs = preparedStatement . executeQuery ( ) ; while ( rs . next ( ) ) { answer . put ( rs . getString ( dbMetadataUtils . convertLetterByCase ( "tname" ) ) , rs . getString ( dbMetadataUtils . convertLetterByCase ( "comments" ) ) ) ; } closeResultSet ( rs ) ; } catch ( Exception e ) { throw new RuntimeException ( e ) ; } return answer ; }
获取表名和注释映射

@param config
@return
@throws java.sql.SQLException
获取表名和注释映射