Monday, August 07, 2006

JDBC 4.0 in Mustang

In a recent article, Srini Penchikala offers a thorough overview of the database changes in Mustang in JDBC 4.0 Enhancements in Java SE 6. This article provides an overview of the JDBC 4.0 enhancements and what benefits they offer to enterprise Java developers." Here is a summary: The major features added in JDBC 4.0 include:
  1. Auto-loading of JDBC driver class: No need to explicitly load JDBC drivers using Class.forName(). When the method getConnection is called, the DriverManager will attempt to locate a suitable driver from among the JDBC drivers that were loaded at initialization and those loaded explicitly using the same class loader as the current application.
  2. Connection management enhancements: We can get a connection to any data source by simply supplying a set of parameters (such as host name and port number) to a standard connection factory mechanism. New methods were added to Connection and Statement interfaces to permit improved connection state tracking and greater flexibility when managing Statement objects in pool environments.
  3. Support for RowId SQL type: The RowID interface was added to JDBC 4.0 to support the ROWID data type which is supported by databases such as Oracle and DB2. RowId is useful in cases where there are multiple records that don't have a unique identifier column and you need to store the query output in a Collection (such Hashtable) that doesn't allow duplicates. We can use ResultSet's getRowId() method to get a RowId and PreparedStatement's setRowId() method to use the RowId in a query.
  4. DataSet implementation of SQL using Annotations: The JDBC 4.0 specification leverages annotations (added in Java SE 5) to allow developers to associate a SQL query with a Java class without writing a lot of code to achieve this association. Also, by using the Generics (JSR 014) and metadata (JSR 175) APIs, we can associate the SQL queries with Java objects specifying query input and output parameters.
  5. SQL exception handling enhancements:
    1. New SQLException sub-classes
    2. Support for causal relationships
    3. Support for enhanced for-each loop
  6. SQL XML support: Introduces the notion of how to express XML data in a SQL datastore. Additional APIs have been added to allow applications access to thisdata.

No comments:

Post a Comment

Popular Posts