Question

Existe-t-il un plugin Java API/Java qui peut générer un diagramme ER de base de données lorsqu'un objet de connexion Java est fourni en entrée.

Ex: InputSream generateDatabaseERDiagram(java connection object)// where inputsream will point to generated ER diagram image

L'API devrait fonctionner avec Oracle, MySQL, Postgresql ?

J'utilisais l'outil schemacrawler (http://schemacrawler.sourceforge.net/) mais je n'avais pas d'API capable de faire cela.

Si aucune API comme celle-ci n’existe, faites-moi savoir comment écrire ma propre API ?Je souhaite générer un diagramme ER pour tous les schémas d'une base de données ou pour tout schéma spécifique si le nom du schéma est fourni en entrée.

Il serait utile que vous expliquiez comment réaliser cette tâche.

Était-ce utile?

La solution

Si je vous ai compris que vous avez interrogé correctement, vous pouvez regarder: jgraph

Autres conseils

Ceci est une ancienne question, mais au cas où quelqu'un d'autre qui l'a trébuché, comme j'essayais de faire la même chose que j'ai finalement compris comment générer l'ERD à l'aide de l'API Java Schemacrawler.

            //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);

Cela nécessite toujours graphviz à installer et sur le chemin de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top