SchemaCrawler
SchemaCrawler is an open-source Java API that makes working with database metadata as easy as
working with plain old Java objects.
SchemaCrawler is also a command-line tool to output your database schema and data in a readable
form. The output is designed to be diff-ed with previous versions of your database schema.
SchemaCrawler API
Java programmers need to access database metadata
in order to dynamically generate SQL statements
when programmatically determining the capabilities of a given RDBMS
when finding the names and types of tables and columns in the database
Programmers can obtain database metadata using JDBC, but with the raw JDBC API database
metadata is returned as result sets, not Java objects. Also, programmers are still responsible for
managing resources, mapping into object structures, and handling exceptions. This makes using
the JDBC API very cumbersome when it comes to metadata. Furthermore, the JDBC API is not
very consistent. For example, to find the type of a table, you would look at the TABLE_TYPE ,
which has a string value, but for procedures, PROCEDURE_TYPE is an integer. An another
example, is the getCatalogs() call, which returns a result set with exactly one column, in contrast
to getStringFunctions() which returns a string containing the list of function names, separated by
commas.
SchemaCrawler attempts to solve some of these problems by providing an API that is consistent
and usable. Database metadata is provided in the form of plain old Java objects (POJOs). Some
examples of the consistency and usability of the SchemaCrawler API are that:
Table is an object that has a collection of Column objects, without requiring you to make
additional calls
There is a getType() method, whether on a Column object, a Table object, or a Procedure
object, which helps with consistency, and ease of use
Lists are always Java lists - java.util.List
You don't worry about database resources or exception handling
You can use standard Java programming idioms - for example, you can access the Table
object from a Column object using getParent()
SchemaCrawler is free and open-source API available under the L
评论0
最新资源