Necessário API Java para gerar o Banco de dados diagrama ER
-
09-12-2019 - |
Pergunta
Existe alguma API java/java plugin que pode gerar um Banco de dados diagrama ER quando o java objecto de ligação é fornecida como entrada.
Ex: InputSream generateDatabaseERDiagram(java connection object)// where inputsream will point to generated ER diagram image
A API deve trabalhar com oracle,mysql,postgresql?
Eu estava passando por schemacrawler(http://schemacrawler.sourceforge.net/), ferramenta, mas didint tem alguma API que poderia fazer isso.
Se nenhuma API como esta há, então, deixe-me saber como posso escrever o meu próprio API?Eu quero gerar diagrama ER para todo o esquema em um banco de dados ou qualquer esquema específico se o nome do esquema for fornecido como entrada.
Ele será útil se você mostrar um pouco de luz sobre como realizar esta tarefa.
Solução
Se eu entendi você pergunta corretamente, você pode dar uma olhada: JGraph
Outras dicas
Esta é uma velha questão, mas no caso de alguém se depara com ele, como eu fazia quando tentar fazer a mesma coisa que eu, eventualmente, descobriu como gerar o ERD, emergency repair disk usando Schemacrawler da API java.
//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);
Isso ainda requer atk para ser instalado e no caminho para o trabalho.