dbcrawler 1.4 发布,轻量级数据库结构爬虫工具
程序员文章站
2022-03-06 14:30:21
...
dbcrawler是一款轻量级的面向数据库结构的爬虫工具,采用纯Java编写,因此可以跨平台使用。近日发布的dbcrawler 1.4下载版主要支持的数据库包括:Apache Derby,H2 Database,HSQLDB,IBM DB2,MySQL,PostgreSQL,此版本主要是对一些bug的修复,以及增加了对视图的支持。
dbcrawler最大的特点就是可以无视数据库的类型,通过一套通用的API访问数据库,并将表结构以POJO的方式返回给用户。与Hibernate不同的是:Hiberneta将数据库表结构映射成实体,然后生成数据表结构,而dbcrawler则是通过数据库表结构来生成对应的实体。
另外,dbcrawler是专门为遍历表结构而制作使用十分简单并且可以以更加直接的方式将数据库结构展示给用户。
dbcrawler的使用:
DBCrawler dbCrawler = new DBCrawler(connection, ConfigEnum.MAXIMUM); DataBase dataBase = dbCrawler.getDatabase(); System.out.println("productName :" + dataBase.getProductName() + " version:" + dataBase.getProductVersion()); //Return Schemas SchemaSet schemaSet = dataBase.getSchemaSet(); Set<Schema> schemas = schemaSet.getSchemas(); //Iterate to Fetch the schema information and Tables for(Schema schema : schemas) { System.out.println("SchemaName :" + schema.getSchamaName()); TableSet tableSet = schema.getTableSet(); Set<Table> tables = tableSet.getTables(); //Iterate to fetch the tables for(Table table : tables) { System.out.println("tableName :" + table.getTableName()); PrimaryKey primaryKey = table.getPrimaryKey(); System.out.println("pk_Name:"+primaryKey.getPkName() + " PrimaryKey Columns:" + primaryKey.getColumns()); ColumnSet columnSet = table.getColumnSet(); System.out.println("Table Columns:"+ columnSet.getColumns()); Set<ForeignKey> foreignKeys = table.getForeignKeys(); System.out.println("foreignKeys:"+foreignKeys); } }