src/java.sql/share/classes/java/sql/package.html
author alanb
Tue, 15 May 2018 09:33:02 +0100
changeset 50109 ea54197f4fe4
parent 47216 71c04702a3d5
permissions -rw-r--r--
8203059: (so) Closing a socket channel registered with Selector and with SO_LINGER set to 0 does not reset connection Reviewed-by: chegar
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
90ce3da70b43 Initial load
duke
parents:
diff changeset
     2
<html>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
<head>
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
<!--
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
     5
 Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    10
published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    12
by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
5551
327690766109 6956202: Fix a few missed rebranding issues, please contact lines etc.
ohair
parents: 5506
diff changeset
    24
Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
327690766109 6956202: Fix a few missed rebranding issues, please contact lines etc.
ohair
parents: 5506
diff changeset
    25
or visit www.oracle.com if you need additional information or have any
327690766109 6956202: Fix a few missed rebranding issues, please contact lines etc.
ohair
parents: 5506
diff changeset
    26
questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
-->
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
</head>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
<body bgcolor="white">
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    35
Provides the API for accessing and processing data stored in a
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    36
data source (usually a relational database) using the
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    37
Java&trade; programming language.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
This API includes a framework whereby different
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
drivers can be installed dynamically to access different data sources.
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    40
Although the JDBC&trade; API is mainly geared
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
to passing SQL statements to a database, it provides for reading and
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
writing data from any data source with a tabular format.
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    43
The reader/writer facility, available through the
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
<code>javax.sql.RowSet</code> group of interfaces, can be customized to
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    45
use and update data from a spread sheet, flat file, or any other tabular
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
data source.
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
    47
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    48
<h2>What the JDBC&trade; 4.3 API Includes</h2>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    49
The JDBC&trade; 4.3 API includes both
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
the <code>java.sql</code> package, referred to as the JDBC core API,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
and the <code>javax.sql</code> package, referred to as the JDBC Optional
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
Package API. This complete JDBC API
30678
a8b7fd8ede97 8075284: fix up miscellaneous TM constructions
darcy
parents: 25859
diff changeset
    53
is included in the Java&trade; Standard Edition (Java SE&trade;), version 7.
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    54
The <code>javax.sql</code> package extends the functionality of the JDBC API
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
from a client-side API to a server-side API, and it is an essential part
30678
a8b7fd8ede97 8075284: fix up miscellaneous TM constructions
darcy
parents: 25859
diff changeset
    56
of the Java&trade;  Enterprise Edition
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    57
(Java EE&trade;) technology.
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
    58
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
<h2>Versions</h2>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    60
The JDBC 4.3 API incorporates all of the previous JDBC API versions:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
<UL>
45008
c5266a7717cf 8179634: Add JDBC 4.2 to bullet list in package.html
lancea
parents: 44112
diff changeset
    62
    <LI> The JDBC 4.2 API</li>
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    63
    <LI> The JDBC 4.1 API</li>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    64
    <LI> The JDBC 4.0 API</li>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    65
    <LI> The JDBC 3.0 API</li>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    66
    <LI> The JDBC 2.1 core API</li>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
 <LI> The JDBC 2.0 Optional Package API<br>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
      (Note that the JDBC 2.1 core API and the JDBC 2.0 Optional Package
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    69
      API together are referred to as the JDBC 2.0 API.)</li>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    70
 <LI> The JDBC 1.2 API</li>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    71
 <LI> The JDBC 1.0 API</li>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
</UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
<P>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    74
Classes, interfaces, methods, fields, constructors, and exceptions
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    75
have the following "since" tags that indicate when they were introduced
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
into the Java platform. When these "since" tags are used in
30678
a8b7fd8ede97 8075284: fix up miscellaneous TM constructions
darcy
parents: 25859
diff changeset
    77
Javadoc&trade; comments for the JDBC API,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
they indicate the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
<UL>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    80
    <LI>Since 9 -- new in the JDBC 4.3 API and part of the Java SE platform,
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    81
        version 9</li>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    82
     <LI>Since 1.8 -- new in the JDBC 4.2 API and part of the Java SE platform,
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    83
        version 8</li>
8178
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
    84
 <LI>Since 1.7 -- new in the JDBC 4.1 API and part of the Java SE platform,
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    85
     version 7</li>
8178
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
    86
<LI>Since 1.6 -- new in the JDBC 4.0 API and part of the Java SE platform,
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    87
    version 6</li>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    88
 <LI>Since 1.4 -- new in the JDBC 3.0 API and part of the J2SE platform,
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    89
     version 1.4</li>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    90
 <LI>Since 1.2 -- new in the JDBC 2.0 API and part of the J2SE platform,
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
    91
     version 1.2</li>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
 <LI>Since 1.1 or no "since" tag -- in the original JDBC 1.0 API and part of
30678
a8b7fd8ede97 8075284: fix up miscellaneous TM constructions
darcy
parents: 25859
diff changeset
    93
     the JDK&trade;, version 1.1</li>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
</UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
<P>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    96
<b>NOTE:</b> Many of the new features are optional; consequently, there is
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
    97
some variation in drivers and the features they support. Always
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
check your driver's documentation to see whether it supports a feature before
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
you try to use it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
<P>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
<b>NOTE:</b> The class <code>SQLPermission</code> was added in the
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   102
Java&trade; 2 SDK, Standard Edition,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
version 1.3 release. This class is used to prevent unauthorized
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
access to the logging stream associated with the <code>DriverManager</code>,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
which may contain information such as table names, column data, and so on.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
<h2>What the <code>java.sql</code> Package Contains</h2>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
The <code>java.sql</code> package contains API for the following:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
<UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
  <LI>Making a connection with a database via the <code>DriverManager</code> facility
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
  <UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
	 <LI><code>DriverManager</code> class -- makes a connection with a driver
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
	 <LI><code>SQLPermission</code> class -- provides permission when code
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
                  running within a Security Manager, such as an applet,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
                  attempts to set up a logging stream through the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
                  <code>DriverManager</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
	 <LI><code>Driver</code> interface -- provides the API for registering
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   118
             and connecting drivers based on JDBC technology ("JDBC drivers");
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
             generally used only by the <code>DriverManager</code> class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
	 <LI><code>DriverPropertyInfo</code> class -- provides properties for a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
             JDBC driver; not used by the general user
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
  </UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
  <LI>Sending SQL statements to a database
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
  <UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
	 <LI><code>Statement</code> --  used to send basic SQL statements
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   126
	 <LI><code>PreparedStatement</code> --  used to send prepared statements or
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
              basic SQL statements (derived from <code>Statement</code>)
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   128
	 <LI><code>CallableStatement</code> --  used to call database stored
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
              procedures (derived from <code>PreparedStatement</code>)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
	 <LI><code>Connection</code> interface --  provides methods for creating
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
             statements and managing connections and their properties
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
	 <LI><code>Savepoint</code> --  provides savepoints in a transaction
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
  </UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
  <LI>Retrieving and updating the results of a query
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
  <UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
	 <LI><code>ResultSet</code> interface
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
  </UL>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   139
  <LI>Standard mappings for SQL types to classes and interfaces in the
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
      Java programming language
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
  <UL>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   142
	 <LI><code>Array</code> interface -- mapping for SQL <code>ARRAY</code>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   143
	 <LI><code>Blob</code> interface -- mapping for SQL <code>BLOB</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
	 <LI><code>Clob</code> interface -- mapping for SQL <code>CLOB</code>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   145
	 <LI><code>Date</code> class -- mapping for SQL <code>DATE</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
	  <LI><code>NClob</code> interface -- mapping for SQL <code>NCLOB</code>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   147
	 <LI><code>Ref</code> interface -- mapping for SQL <code>REF</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
	  <LI><code>RowId</code> interface -- mapping for SQL <code>ROWID</code>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   149
	 <LI><code>Struct</code> interface -- mapping for SQL <code>STRUCT</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
	  <LI><code>SQLXML</code> interface -- mapping for SQL <code>XML</code>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   151
	 <LI><code>Time</code> class -- mapping for SQL <code>TIME</code>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   152
	 <LI><code>Timestamp</code> class -- mapping for SQL <code>TIMESTAMP</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
	 <LI><code>Types</code> class -- provides constants for SQL types
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
  </UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
  <LI>Custom mapping an SQL user-defined type (UDT) to a class in the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
	  Java programming language
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
  <UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
	 <LI><code>SQLData</code> interface -- specifies the mapping of
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
              a UDT to an instance of this class
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
	 <LI><code>SQLInput</code> interface -- provides methods for reading
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
              UDT attributes from a stream
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
	 <LI><code>SQLOutput</code> interface -- provides methods for writing
90ce3da70b43 Initial load
duke
parents:
diff changeset
   163
              UDT attributes back to a stream
90ce3da70b43 Initial load
duke
parents:
diff changeset
   164
  </UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   165
  <LI>Metadata
90ce3da70b43 Initial load
duke
parents:
diff changeset
   166
  <UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   167
	 <LI><code>DatabaseMetaData</code> interface -- provides information
90ce3da70b43 Initial load
duke
parents:
diff changeset
   168
              about the database
90ce3da70b43 Initial load
duke
parents:
diff changeset
   169
	 <LI><code>ResultSetMetaData</code> interface -- provides information
90ce3da70b43 Initial load
duke
parents:
diff changeset
   170
              about the columns of a <code>ResultSet</code> object
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
	 <LI><code>ParameterMetaData</code> interface -- provides information
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
              about the parameters to <code>PreparedStatement</code> commands
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
  </UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
  <LI>Exceptions
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
	<UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
	  <LI><code>SQLException</code> -- thrown by most methods when there
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
		 is a problem accessing data and by some methods for other reasons
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
	  <LI><code>SQLWarning</code> -- thrown to indicate a warning
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
	  <LI><code>DataTruncation</code> -- thrown to indicate that data may have
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
     	  been truncated
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
	  <LI><code>BatchUpdateException</code> -- thrown to indicate that not all
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
		 commands in a batch update executed successfully
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
	</UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   185
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   186
    <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.3 API</h3>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   187
<UL>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   188
    <LI>Added <code>Sharding</code> support</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   189
    <LI>Enhanced <code>Connection</code> to be able to provide hints
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   190
        to the driver that a request, an independent unit of work,
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   191
        is beginning or ending</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   192
    <LI>Enhanced <code>DatabaseMetaData</code> to determine if Sharding is
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   193
    supported</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   194
    <LI>Added the method <code>drivers</code> to <code>DriverManager</code> 
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   195
            to return a Stream of the currently loaded and
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   196
            available JDBC drivers</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   197
    <LI>Added support to <code>Statement</code> for enquoting literals
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   198
    and simple identifiers</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   199
    <LI>Clarified the Java SE version that methods were deprecated</LI>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   200
</UL>
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   201
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   202
    <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.2 API</h3>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   203
<UL>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   204
    <LI>Added <code>JDBCType</code>  enum and <code>SQLType</code> interface</li>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   205
    <LI>Support for <code>REF CURSORS</code> in <code>CallableStatement</code>
15278
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   206
    </LI>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   207
    <LI><code>DatabaseMetaData</code> methods to return maximum Logical LOB size
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   208
        and if Ref Cursors are supported</LI>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   209
    <LI>Added support for large update counts</LI>
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   210
e081d3f73b75 8005080: JDBC 4.2 Core changes
lancea
parents: 8178
diff changeset
   211
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   212
8178
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   213
    <h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.1 API</h3>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   214
<UL>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   215
    <LI>Allow <code>Connection</code>,
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   216
        <code>ResultSet</code> and <code>Statement</code> objects to be
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   217
        used with the try-with-resources statement</LI>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   218
    <LI>Support added to <code>CallableStatement</code> and
8178
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   219
        <code>ResultSet</code> to specify the Java type to convert to via the
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   220
        <code>getObject</code> method</LI>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   221
    <LI><code>DatabaseMetaData</code> methods to return PseudoColumns and if a
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   222
        generated key is always returned</LI>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   223
    <LI>Added support to <code>Connection</code> to specify a database schema,
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   224
    abort and timeout a physical connection.</LI>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   225
    <LI>Added support to close a <code>Statement</code> object when its dependent
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   226
    objects have been closed</LI>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   227
    <LI>Support for obtaining the parent logger for a <code>Driver</code>,
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   228
     <code>DataSource</code>, <code>ConnectionPoolDataSource</code> and
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   229
     <code>XADataSource</code></LI>
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   230
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   231
</UL>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
<h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 4.0 API</h3>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
<UL>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   234
  <LI>auto java.sql.Driver discovery -- no longer need to load a
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
<code>java.sql.Driver</code> class via <code>Class.forName</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
 <LI>National Character Set support added
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
 <li>Support added for the SQL:2003 XML data type
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
 <lI>SQLException enhancements -- Added support for cause chaining; New SQLExceptions
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
 added for common SQLState class value codes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
 <li>Enhanced Blob/Clob functionality -- Support provided to create and free a Blob/Clob instance
21278
ef8a3a2a72f2 8022746: List of spelling errors in API doc
malenkov
parents: 15278
diff changeset
   241
 as well as additional methods added to improve accessibility
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
 <li>Support added for accessing a SQL ROWID
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
 <li>Support added to allow a JDBC application to access an instance of a JDBC resource
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   244
 that has been wrapped by a vendor, usually in an application server or connection
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
 pooling environment.
8178
0236f423f7d1 7014095: Broken link in java.sql package specification
lancea
parents: 5551
diff changeset
   246
 <li>Availability to be notified when a <code>PreparedStatement</code> that is associated
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
 with a <code>PooledConnection</code> has been closed or the driver determines is invalid
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   248
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   249
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   251
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   252
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
<h3><code>java.sql</code> and <code>javax.sql</code> Features Introduced in the JDBC 3.0 API</h3>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
<UL>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   255
  <LI>Pooled statements -- reuse of statements associated with a pooled
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
       connection
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
  <LI>Savepoints -- allow a transaction to be rolled back to a designated
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
      savepoint
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
  <LI>Properties defined for <code>ConnectionPoolDataSource</code> -- specify
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
      how connections are to be pooled
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
  <LI>Metadata for parameters of a <code>PreparedStatement</code> object
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
  <LI>Ability to retrieve values from automatically generated columns
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   263
  <LI>Ability to have multiple <code>ResultSet</code> objects
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
       returned from <code>CallableStatement</code> objects open at the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
      same time
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
  <LI>Ability to identify parameters to <code>CallableStatement</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
      objects by name as well as by index
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
  <LI><code>ResultSet</code> holdability -- ability to specify whether cursors
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
      should be held open or closed at the end of a transaction
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
  <LI>Ability to retrieve and update the SQL structured type instance that a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
      <code>Ref</code> object references
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
  <LI>Ability to programmatically update <code>BLOB</code>,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
      <code>CLOB</code>, <code>ARRAY</code>, and <code>REF</code> values.
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   274
  <LI>Addition of the <code>java.sql.Types.DATALINK</code> data type --
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
      allows JDBC drivers access to objects stored outside a data source
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
  <LI>Addition of metadata for retrieving SQL type hierarchies
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   278
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
<h3><code>java.sql</code> Features Introduced in the JDBC 2.1 Core API</h3>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
<UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
  <LI>Scrollable result sets--using new methods in the <code>ResultSet</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
	  interface that allow the cursor to be moved to a particular row or to a
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
	  position relative to its current position
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
  <LI>Batch updates
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
  <LI>Programmatic updates--using <code>ResultSet</code> updater methods
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
  <LI>New data types--interfaces mapping the SQL3 data types
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
  <LI>Custom mapping of user-defined types (UDTs)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
  <LI>Miscellaneous features, including performance hints, the use of character
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
	  streams, full precision for <code>java.math.BigDecimal</code> values,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
	  additional security, and
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   291
	  support for time zones in date, time, and timestamp values.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   293
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
<h3><code>javax.sql</code> Features Introduced in the JDBC 2.0 Optional
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
Package API</h3>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
<UL>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
  <LI>The <code>DataSource</code> interface as a means of making a connection.  The
30678
a8b7fd8ede97 8075284: fix up miscellaneous TM constructions
darcy
parents: 25859
diff changeset
   298
      Java Naming and Directory Interface&trade;
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   299
      (JNDI) is used for registering a <code>DataSource</code> object with a
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
      naming service and also for  retrieving it.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
  <LI>Pooled connections -- allowing connections to be used and reused
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
  <LI>Distributed transactions -- allowing a transaction to span diverse
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
      DBMS servers
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
  <LI><code>RowSet</code> technology -- providing a convenient means of
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
       handling and passing data
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
</UL>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   307
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   308
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
<h3>Custom Mapping of UDTs</h3>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
A user-defined type (UDT) defined in SQL can be mapped to a class in the Java
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
programming language. An SQL structured type or an SQL <code>DISTINCT</code>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
type are the UDTs that may be custom mapped.  The following three
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
steps set up a custom mapping:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
<ol>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
  <li>Defining the SQL structured type or <code>DISTINCT</code> type in SQL
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
  <li>Defining the class in the Java programming language to which the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
	  SQL UDT will be mapped.  This class must implement the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
	  <code>SQLData</code> interface.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
  <li>Making an entry in a <code>Connection</code> object's type map
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
      that contains two things:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
   <ul>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
       <li>the fully-qualified SQL name of the UDT
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   323
       <li>the <code>Class</code> object for the class that implements the
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
           <code>SQLData</code> interface
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
   </ul>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
</ol>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
<p>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
When these are in place for a UDT, calling the methods
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   329
<code>ResultSet.getObject</code> or <code>CallableStatement.getObject</code>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
on that UDT will automatically retrieve the custom mapping for it. Also, the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
<code>PreparedStatement.setObject</code> method will automatically map the
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
object back to its SQL type to store it in the data source.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
<h2>Package Specification</h2>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
<ul>
44112
d0b2c775ec6d 8176235: Minor updates to package.html
lancea
parents: 30678
diff changeset
   337
  <li><a href="https://jcp.org/en/jsr/detail?id=221">JDBC 4.3 Specification</a>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
</ul>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
<h2>Related Documentation</h2>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
<ul>
23708
fea03b9ae8af 8039088: Fix broken URLs in package.html
lancea
parents: 23590
diff changeset
   343
  <li><a href="http://docs.oracle.com/javase/tutorial/jdbc/basics/index.html">
24196
61c9885d76e2 8029451: Tidy warnings cleanup for java.util package; minor changes in java.nio, java.sql
yan
parents: 23708
diff changeset
   344
          Lesson:JDBC Basics(The Javaxx Tutorials &gt; JDBC&trade; Database Access)</a>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   345
23708
fea03b9ae8af 8039088: Fix broken URLs in package.html
lancea
parents: 23590
diff changeset
   346
 <li><a href="http://www.oracle.com/technetwork/java/index-142838.html">
24196
61c9885d76e2 8029451: Tidy warnings cleanup for java.util package; minor changes in java.nio, java.sql
yan
parents: 23708
diff changeset
   347
          <i>JDBC&trade; API Tutorial and Reference, Third Edition</i></a>
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
</ul>
23590
ffd8b0b70511 8038493: Tidy warnings cleanup for java.sql
yan
parents: 21278
diff changeset
   349
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
</body>
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
</html>