2

因此,我将 Vaadin Java Web 框架用于需要能够编辑表格的项目。Vaadin 提供了一种从中获取Connection对象的方法SimpleJDBCConnectionPool这里是 API

Connection我可以得到DatabaseMetaData对象。我有以下代码:

private List<String> getTableNames(DatabaseMetaData md) throws SQLException {
        ArrayList<String> tables = new ArrayList<String>();
        ResultSet rs = md.getTables(null, null, "", null);
        while (rs.next()) {
            tables.add(rs.getString("TABLE_NAME")); //Column 3 is for table name
            Logger.getLogger(CodeContainingClass.class.getName()).
                    info("Comment: " + rs.getString("REMARKS")); //Column 5 is for remarks
        }
        return tables;
}

它正确检索表名称,但不幸的是 REMARKS 返回null。(这里是 API)。我不确定我做错了什么。

我使用以下查询验证了该表是否有注释:

SHOW TABLE STATUS WHERE Name='tablename';

任何帮助将不胜感激。非常感谢。

4

2 回答 2

2

请参阅此MySQL Connector/J 错误(特别是 2012 年 6 月 27 日 11:26 和 2012 年 6 月 28 日 11:18 的评论)。您需要指定连接属性useInformationSchema=true才能获得此功能。

另请参阅连接器/J 连接属性

于 2013-01-03T20:34:47.320 回答
-1

在 MySQL 中,与每个表关联的注释可从information_schema.

试试这个查询:

 SELECT TABLE_NAME, TABLE_COMMENT
   FROM INFORMATION_SCHEMA.TABLES
  WHERE TABLE_SCHEMA = 'YourDatabaseName'

请务必替换您实际使用的数据库名称。

于 2013-01-03T20:34:39.583 回答