Требуется Java API для генерации диаграммы базы данных ER

StackOverflow https://stackoverflow.com//questions/9614957

Вопрос

Есть ли какие-либо плагин 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 , который будет установлен и на пути к работе.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top