java - 在 Java 中获取数据库元数据的最简单方法?

标签 java database metadata ddlutils

我熟悉 java.sql.DatabaseMetaData 接口(interface),但我发现它使用起来很笨拙。例如,为了找出表名,您必须调用 getTables 并循环遍历返回的 ResultSet,使用众所周知的文字作为列名。

有没有更简单的方法获取数据库元数据?

最佳答案

使用 DdlUtils 很容易完成:

import javax.sql.DataSource;
import org.apache.ddlutils.Platform;
import org.apache.ddlutils.PlatformFactory;
import org.apache.ddlutils.model.Database;
import org.apache.ddlutils.platform.hsqldb.HsqlDbPlatform;

public void readMetaData(final DataSource dataSource) {
  final Platform platform = PlatformFactory.createNewPlatformInstance(dataSource);
  final Database database = platform.readModelFromDatabase("someName");
  // Inspect the database as required; has objects like Table/Column/etc.
}

关于java - 在 Java 中获取数据库元数据的最简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985010/

相关文章:

java - Android 4.2 中的访问/SD 卡

java - Avro 模式不支持向后兼容性

java - Solr查询如何读取分组值?

html - 我们需要 <meta name ="viewport"content ="width=device-width, initial-scale=1.0"> 没有 Bootstrap 吗?

c - .avi、.mkv、.mp4 文件的元数据提取器

java - 在数据库中创建空对象或稍后保存

mysql - 显示具有相同用户 'tags' 或 'categories' 的所有帖子

java - JPA 中的最大可能日期

database - Postgresql 函数中的列命名

php - Symfony2/Doctrine 找不到自定义存储库类的映射文件