Metadata
Most JDBC programs are designed to
work with a specific database and particular tables in that database;
the program knows exactly what kind of data it is dealing with. Some
applications, however, need to dynamically discover information about
result set structures or underlying database configurations. This
information is called metadata, and JDBC
provides two classes for
dealing with it:
DatabaseMetaData
and
ResultSetMetaData
. If you are developing a JDBC
application that will be deployed outside a known environment, you
need to be familiar with these interfaces.
DatabaseMetaData
You can retrieve general information
about the structure of a database with the
java.sql.DatabaseMetaData
interface. By making
thorough use of this class, a program can tailor its SQL and use of
JDBC on the fly, to accommodate different levels of database and JDBC
driver support.
Database metadata is associated
with a particular connection, so DatabaseMetaData
objects are created with the getMetaData( )
method
of Connection
:
DatabaseMetaData dbmeta = con.getMetaData( );
DatabaseMetaData
provides an overwhelming number of methods you can call to get actual
configuration information about the database. Some of these return
String
objects (getURL( )
),
some return boolean
values
(nullsAreSortedHigh( )
), and still others return
integers (getMaxConnections( )
).
A number of other methods
return ResultSet
objects. These methods, such as
getColumns( )
, getTableTypes( )
, and getPrivileges( ) ...
Get Java Enterprise in a Nutshell, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.