Требуется Java API для генерации диаграммы базы данных ER
-
09-12-2019 - |
Вопрос
Есть ли какие-либо плагин Java API / Java, который может генерировать диаграмму базы данных, когда объект Java Connection предоставляется в качестве ввода.
ex: InputSream generateDatabaseERDiagram(java connection object)// where inputsream will point to generated ER diagram image
API должен работать с Oracle, MySQL, PostgreSQL?
Я проходил через Schemacrawler (http://schemacrawler.sourceforge.net/) инструмент, но Dadint получил какой-либо API, который мог сделать это.
Если нет API, как это, то, то дайте мне знать, как можно написать моим собственным API?Я хочу генерировать диаграмму ER для всей схемы в базе данных или любой конкретной схеме, если имя схемы предоставляется в качестве ввода.
Будет полезен, если вы покажете свет о том, как добиться этой задачи.
Решение
Если я правильно понял вопрос, вы можете взглянуть на: jgraph
Другие советы
Это старый вопрос, но в случае, если кто-то еще наткнулся на него, так как я пытался сделать то же самое, что я в конечном итоге разобрался, как создать ERD, используя java java rachacrawler.
//Get your java connection however
Connection conn = DriverManager.getConnection("DATABASE URL");
SchemaCrawlerOptions options = new SchemaCrawlerOptions();
// Set what details are required in the schema - this affects the
// time taken to crawl the schema
options.setSchemaInfoLevel(SchemaInfoLevelBuilder.standard());
// you can exclude/include objects using the options object e.g.
//options.setTableInclusionRule(new RegularExpressionExclusionRule(".*qrtz.*||.*databasechangelog.*"));
GraphExecutable ge = new GraphExecutable();
ge.setSchemaCrawlerOptions(options);
String outputFormatValue = GraphOutputFormat.png.getFormat();
OutputOptions outputOptions = new OutputOptions(outputFormatValue, new File("database.png").toPath());
ge.setOutputOptions(outputOptions);
ge.execute(conn);
.
Это все еще требует graphviz , который будет установлен и на пути к работе.