你好,游客 登录 注册 搜索
阅读内容

表结构可视化工具 SchemaCrawler

运行环境:
授权方式:BSD
软件大小:M
下载量:
更新日期:2014-04-05
来源地址:
联系作者:Linux

SchemaCrawler提供一组用于增强标准JDBC Metadata的API.SchemaCrawler还包含一个命令行工具能够将数据库结构和数据以一种易读的形式输出。

SchemaCrawler的使用

SchemaCrawler-3.7-distrib中有一些例子,这个开源工具功能还是很强大的,先实验一下简单的功能吧。

1.打开eclipse,新建一个工程schema.

2.在schema的工程上添加外部jar文件,把schemacrawler-3.7.jar添加到里面.

3.添加数据库jdbc包,我使用mysql,使用mysql的jdbc包.

4.数据库新建一个数据库schema.并添加下面的表.

CREATE TABLE customer
(First_Name char(50),
Last_Name char(50),
Address char(50),
City char(50),
Country char(25),
Birth_Date date)

5.建立schema包,并建立Test类.代码如下.

package schema;

import java.util.Properties;
import javax.sql.DataSource;
import schemacrawler.crawl.SchemaCrawler;
import schemacrawler.crawl.SchemaCrawlerOptions;
import schemacrawler.crawl.SchemaInfoLevel;
import schemacrawler.schema.Column;
import schemacrawler.schema.Schema;
import schemacrawler.schema.Table;
import dbconnector.datasource.PropertiesDataSource;
import dbconnector.datasource.PropertiesDataSourceException;

public class Test {
/**
*
* @param args
* @throws Exception
*/
public static void main(String args[]) throws Exception{
final DataSource dataSource = makeDataSource();
final Schema schema = SchemaCrawler.getSchema(dataSource,
SchemaInfoLevel.BASIC,
new SchemaCrawlerOptions());
final Table[] tables = schema.getTables();
for (int i = 0; i < tables.length; i++)
{
final Table table = tables[i];
System.out.println(table);
final Column[] columns = table.getColumns();
for (int j = 0; j < columns.length; j++)
{
final Column column = columns[j];
System.out.print("-- " + column);
System.out.println(" Type:"+columns[j].getType());
}
}
}
/**
* 取得DataSource
* @return
* @throws PropertiesDataSourceException
*/
private static DataSource makeDataSource()
throws PropertiesDataSourceException {
final String datasourceName = "schemacrawler";

final Properties connectionProperties = new Properties();
connectionProperties.setProperty(datasourceName + ".driver",
"com.mysql.jdbc.Driver");
connectionProperties.setProperty(datasourceName + ".url",
"jdbc:mysql://localhost:3306/schema");
connectionProperties.setProperty(datasourceName + ".user", "root");
connectionProperties.setProperty(datasourceName + ".password", "root");

return new PropertiesDataSource(connectionProperties, datasourceName);
}
}

测试运行,如果数据库运行正确.则可以运行成功。

linux
相关资讯       SchemaCrawler 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款