是否有适用于Java的数据库建模库?

Hen*_*ing 5 java database rdbms modeling

有谁知道Java库为分析和操作任意关系数据库模式提供了有用的抽象?我在想一些可以做的事情

LibraryClass dbLib = ...;
DbSchema schema = dbLib.getSchema("my_schema");
List<DbTable> tables = schema.getTables();
Run Code Online (Sandbox Code Playgroud)

DbTable myTable  = ...
for(DbColumn col : myTable.getColumns()){
    ... = col.getType();
}
Run Code Online (Sandbox Code Playgroud)

甚至操纵表格

myTable.addColumn(
    new DbColumn("my_new_column", Type.UNSIGNED_INTEGER);
);

DbColumn myColumn = ...
myTable.removeColumn(myColumn);
Run Code Online (Sandbox Code Playgroud)

大多数数据库建模工具在内部都有这样的抽象,但是我可以使用Java中的一个,还是我必须自己编写?

Gow*_*wri 5

JDBC本身就有这样的抽象.查看java.sql.DatabaseMetaData.但是,这是标准的可选部分,它取决于您使用的JDBC驱动程序是否已实现.


And*_*wan 4

DdlUtils有您正在寻找的东西。您可以从 XML(Torque 格式)或实时数据库读取/写入模式,甚至可以用纯 Java 定义数据库模式。更好的是,阅读在线文档,它非常好。