JDBC API Tutorial and Reference: Universal Data Access for the Java(tm) 2 Platform
|
|
|
About This Book
ISBN13: 9780201433289 |
Synopses & Reviews
Book News Annotation:
Provides a definitive description of the JDBC API, the technology
that enables universal data access for the Java programming language.
Combines a step-by-step tutorial with a comprehensive reference to
all of the classes and interface, and gives in-depth explanations
that go beyond the specification. Offers an introduction for those
new to the Java programming language and to SQL, then walks through
creating a JDBC application, with many examples, and discusses
advanced topics. White is a member of the technical staff at Java
Software, where he led the design of the JDBC 2.0 API.
Annotation c. Book News, Inc., Portland, OR (booknews.com)
Annotation c. Book News, Inc., Portland, OR (booknews.com)
Synopsis:
Lead developer's of Sun's JDBC team introduce all of JDBC 2 in depth, offering detailed explanation of the JDBC and how it relates to Java and relational databases. The authors also explain JDBC's goals, soft- ware framework, and components, including the JDBC driver manager, test suite, and JDBC-ODBC bridge and help readers master hard-to-find, advanced JDBC features, including updates, SQL3 data types, custom mapping, arrays, blobs, callable statements, and the new MetaData API.
Description:
This book provides the definitive description of the JDBC(tm) API, the technology that enables universal data access for the Java(tm) programming language. This new edition has been updated and expanded to cover all of the JDBC 2.0 API, including the JDBC 2.0 core API and the JDBC Standard Extension API, the package that facilitates building server-side applications.
Containing in-depth explanations that go beyond the specification, this complete resource pairs a step-by-step tutorial with a comprehensive reference to all of the classes and interfaces.
For those new to Java technology, the book includes an introduction to the Java programming language and to SQL. It builds on this basic knowledge to walk you through creating a JDBC application-from setting up a database and establishing a connection to retrieving values from result sets and using prepared statements. In addition, the authors provide many examples along the way that demonstrate how to execute common tasks. The book proceeds to more advanced topics, focusing on the new features of the JDBC 2.0 API, including scrollable and updatable result sets, batch updates, SQL3 data types, custom mapping, and more.
You will also find an introduction to working with the JDBC metadata API as well as information on rowsets, the technology that makes it possible to handle data sets from any source such as JavaBeans™ components.
From array to XADataSource, a useful alphabetical reference provides concise but complete information on each class and interface in the JDBC API. Each entry includes an overview as well as a list and explanation of the methods and fields.
A chapter on mapping SQL types and types in the Java programming language, a summary of the new JDBC 2.0 features, and a glossary complete this indispensable resource for all database programmers.
Table of Contents
Part One
1 Introduction
1.1 What the JDBC 2.0 API Includes
1.2 Conventions Used in This Book
1.2.1 Fonts to Indicate Function
1.2.2 Icons to Indicate New Material
1.2.3 Special Page Designations in the Index
1.2.4 SQLException Is Implied in Method Explanations.
1.2.5 Some Method Explanations Are Combined
1.3 Contents of the Book
1.3.1 Part One
1.3.2 Part Two
1.3.3 Suggested Order for Reading Chapters
1.3.4 Where to Find Information by Topic
1.3.5 Resources on the Web
1.4 What Is the JDBC API?
1.4.1 What Does JDBC Do?
1.4.2 A Base for Other APIs
1.4.3 The JDBC API Versus ODBC and UDA
1.4.4 Two-tier and Three-tier Models
1.4.5 SQL Conformance
1.4.6 JDBC Products
1.4.7 Java Software Framework
1.4.8 JDBC Driver Types
1.4.9 Obtaining JDBC Drivers
1.4.10 Java-relational DBMSs
1.4.11 Other Products
1.5 Java Overview
1.5.1 Java Is Portable
1.5.2 Java Is Object-Oriented
1.5.3 Java Makes It Easy to Write Correct Code
1.5.4 Java Includes a Library of Classes and Interfaces
1.5.5 Java Is Extensible
1.5.6 Java Is Secure
1.5.7 Java Performs Well
1.5.8 Java Scales Well
1.5.9 Java Is Multithreaded
1.6 Relational Database Overview
1.6.1 Integrity Rules
1.6.2 SELECT Statements
1.6.3 WHERE Clauses
1.6.4 Joins
1.6.5 Common SQL Commands
1.6.6 Result Sets and Cursors
1.6.7 Transactions
1.6.8 Stored Procedures
1.6.9 Metadata
2 Basic Tutorial
2.1 Getting Started
2.2 Setting Up a Database
2.3 Establishing a Connection
2.3.1 Loading Drivers
2.3.2 Making the Connection
2.4 Setting Up Tables
2.4.1 Creating a Table
2.4.2 Creating JDBC Statements
2.4.3 Executing Statements
2.4.4 Entering Data into a Table
2.5 Getting Data from a Table
2.6 Retrieving Values from Result Sets
2.6.1 Using the Method next
2.6.2 Using the getXXX Methods
2.6.3 Using the Method getString
2.7 Updating Tables
2.8 Milestone: The Basics of JDBC
2.9 Using Prepared Statements
2.9.1 When to Use a PreparedStatement Object
2.9.2 Creating a PreparedStatement Object
2.9.3 Supplying Values for PreparedStatement Parameters
2.9.4 Using a Loop to Set Values
2.9.5 Return Values for the Method executeUpdate
2.10 Using Joins
2.11 Using Transactions
2.11.1 Disabling Auto-commit Mode
2.11.2 Committing a Transaction
2.11.3 Using Transactions to Preserve Data Integrity
2.11.4 When to Roll Back a Transaction
2.12 Stored Procedures
2.12.1 SQL Statements for Creating a Stored Procedure
2.12.2 Calling a Stored Procedure Using the JDBC API
2.13 Creating Complete JDBC Applications
2.13.1 Putting Code in a Class Definition
2.13.2 Importing Classes to Make Them Visible
2.13.3 Using the main Method
2.13.4 Using try and catch Blocks
2.13.5 Retrieving Exceptions
2.13.6 Retrieving Warnings
2.14 Running the Sample Applications
2.15 Sample Code
2.15.1 Sample Code 1 and 2
2.15.2 Sample Code 3 and 4
2.15.3 Sample Code 5
2.15.4 Sample Code 6
2.16 Creating an Applet from an Application
2.16.1 Writing Applet Code
2.16.2 Running an Applet
2.16.3 Sample Code 7 and 8
2.16.4 Writing Stored Procedures Using SQLJ
3 Advanced Tutorial
3.1 Getting Set Up to Use the JDBC 2.0 API
3.1.1 Using Code Examples
3.2 Moving the Cursor in Scrollable Result Sets
3.2.1 Creating a Scrollable Result Set
3.2.2 Moving the Cursor Forward and Backward
3.2.3 Moving the Cursor to a Designated Row
3.2.4 Getting the Cursor Position
3.3 Making Updates to Updatable Result Sets
3.3.1 Creating an Updatable Result Set
3.3.2 Updating a Result Set Programmatically
3.3.3 Inserting and Deleting Rows Programmatically
3.3.4 Code Sample for Inserting a Row
3.3.5 Deleting a Row Programmatically
3.3.6 Seeing Changes in Result Sets
3.3.7 Getting the Most Recent Data
3.4 Making Batch Updates
3.4.1 Using Statement Objects for Batch Updates.
3.4.2 Batch Update Exceptions
3.4.3 Sample Code for Batch Update
3.5 SQL3 Data Types
3.5.1 DISTINCT Type
3.5.2 Using SQL3 Data Types
3.5.3 Blob, Clob, and Array Objects
3.5.4 Creating an SQL Structured Type
3.5.5 Creating a DISTINCT Type
3.5.6 Using References to Structured Types
3.5.7 Sample Code for Creating an SQL REF
3.5.8 Using SQL3 Types as Column Values
3.5.9 Inserting SQL3 Types into a Table
3.6 Using Custom Mapping
3.6.1 Implementing SQLData
3.6.2 Using a ConnectionÍs Type Map
3.6.3 Using Your Own Type Map
3.7 Using Data Sources
3.7.1 Using a DataSource Object to Get a Connection.
3.7.2 Deploying a Basic DataSource Object
3.7.3 Deploying Other DataSource Implementations
3.7.4 Getting and Using a Pooled Connection
3.7.5 Deployment for Distributed Transactions
3.7.6 Using Connections for Distributed Transactions.
4 MetaData Tutorial
4.1 Getting Information about Result Set Columns
4.1.1 Using the Method getColumnCount
4.1.2 Sample Code 9
4.1.3 Using Other ResultSetMetaData Methods
4.1.4 Getting Column Type Information
4.1.5 Sample Code 10 and 11
4.1.6 Sample Code 12
4.1.7 Getting Other Information
4.1.8 Using New JDBC 2.0 ResultSetMetaData Features
4.1.9 Getting Other Information about a Result Set
4.2 Getting Information about a Database or Database System
4.2.1 Categories of DatabaseMetaData Methods
4.2.2 Methods that Return a String
4.2.3 Methods that Return an int
4.2.4 Methods that Return a boolean
4.2.5 Methods that Return a ResultSet Object
4.2.6 Sample Code 13
4.2.7 Getting Information about DBMS Data Types
4.2.8 Sample Code 14
4.2.9 Getting Information about Primary and Foreign Keys
4.2.10 Sample Code 15
4.2.11 Sample Code 16
4.2.12 New JDBC 2.0 Core Methods
4.3 Generic Applications
4.3.1 Sample Code 17 and 18
4.3.2 Sample Code 19
5 Rowset Tutorial
5.1 Types and Uses of Rowsets
5.2 Using a Rowset
5.2.1 Creating a Rowset and Setting Properties
5.2.2 Rowsets and Event Notification
5.2.3 Obtaining a Scrollable and Updatable Rowset
5.2.4 Using a Rowset for Scrolling and Updating
5.2.5 Updating a Rowset
5.3 An EJB Example
5.3.1 A Distributed Application
5.3.2 Differences in Rowsets
5.3.3 EJB and Distributed Transactions
5.3.4 A Stateless SessionBean Object
5.3.5 Overview of an EJB Application
5.3.6 The Remote Interface
5.3.7 The Home Interface
5.3.8 The Client Class
5.3.9 The Enterprise Bean
Part Two
6 Array
6.1 Array Overview
6.1.1 Creating an Array Object
6.1.2 Getting Base Type Information
6.1.3 Materializing Array Data
6.1.4 Four Versions of the Method getArray
6.1.5 Four Versions of the Method getResultSet
6.1.6 Using Array Methods
6.1.7 Storing Array Objects
6.2 Array Interface Definition
6.3 Array Methods
7 BatchUpdateException
7.1 BatchUpdateException Overview
7.1.1 What a BatchUpdateException Object Contains.
7.1.2 Retrieving BatchUpdateException Information
7.2 BatchUpdateException Class Definition
7.3 BatchUpdateException Constructors
7.4 BatchUpdateException Methods
7.4.1 Inherited Methods
7.4.2 Methods Defined in BatchUpdateException
8 Blob
8.1 Blob Overview
8.1.1 Creating a Blob Object
8.1.2 Materializing Blob Data
8.1.3 Storing a Blob Object
8.2 Blob Interface Definition
8.3 Blob Methods
9 CallableStatement
9.1 CallableStatement Overview
9.1.1 Creating a CallableStatement Object
9.1.2 IN Parameters
9.1.3 Making Batch Updates
9.1.4 OUT Parameters
9.1.5 Numbering of Parameters
9.1.6 INOUT Parameters
9.1.7 Retrieve OUT Parameters after Results
9.1.8 Retrieving NULL Values as OUT Parameters
9.2 CallableStatement Definition
9.3 CallableStatement Methods
9.3.1 Inherited Methods
9.3.2 Methods Defined in CallableStatement
10 Clob
10.1 Clob Overview
10.1.1 Creating a Clob Object
10.1.2 Materializing Clob Data
10.1.3 Storing a Clob Object
10.2 Clob Interface Definition
10.3 Clob Methods
11 Connection
11.1 Connection Overview
11.1.1 Opening a Connection
11.1.2 URLs in General Use
11.1.3 JDBC URLs
11.1.4 The odbc Subprotocol
11.1.5 Registering Subprotocols
11.1.6 Sending SQL Statements
11.1.7 Transactions
11.1.8 Transaction Isolation Levels
11.1.9 Freeing DBMS Resources
11.1.10 Using Type Maps
11.2 Connection Interface Definition
11.3 Connection Methods
11.4 Connection Fields
12 ConnectionEvent
12.1 ConnectionEvent Overview
12.2 ConnectionEvent Definition
12.3 ConnectionEvent Constructors
12.4 ConnectionEvent Methods
12.4.1 Methods Inherited from java.util.EventObject
12.4.2 Methods Defined in javax.sql.ConnectionEvent
13 ConnectionEventListener
13.1 ConnectionEventListener Overview
13.1.1 Registering a ConnectionEventListener Object
13.2 ConnectionEventListener Definition
13.3 ConnectionEventListener Methods
14 ConnectionPoolDataSource
14.1 ConnectionPoolDataSource Overview
14.1.1 Connection vs. PooledConnection Objects
14.2 ConnectionPoolDataSource Definition
14.3 ConnectionPoolDataSource Methods
15 DatabaseMetaData
15.1 DatabaseMetaData Overview
15.1.1 Creating a DatabaseMetaData Object
15.1.2 ResultSet Objects as Return Values
15.1.3 String Patterns as Arguments
15.1.4 Pseudo Columns
15.1.5 New JDBC 2.0 Core API Features
15.1.6 Getting Advanced Type Information
15.2 DatabaseMetaData Interface Definition
15.3 DatabaseMetaData Methods
15.4 DatabaseMetaData Fields
16 DataSource
16.1 DataSource Overview
16.1.1 Properties
16.1.2 Using JNDI
16.1.3 Creating and Registering a DataSource Object
16.1.4 Connecting to a Data Source
16.1.5 DataSource Implementations
16.1.6 Logging and Tracing
16.1.7 Advantages of Using JNDI
16.2 DataSource Definition
16.3 DataSource Methods
17 DataTruncation
17.1 DataTruncation Overview
17.1.1 Data Truncation with No Warning or Exception.
17.1.2 Data Truncation on Reads
17.1.3 Data Truncation on Writes
17.1.4 What a DataTruncation Object Contains
17.1.5 Retrieving DataTruncation Information
17.2 DataTruncation Class Definition
17.3 DataTruncation Constructor
17.4 DataTruncation Methods
17.4.1 Inherited Methods
17.4.2 Methods Defined in DataTruncation
18 Date
18.1 Date Overview
18.1.1 Creating a Date Object
18.1.2 Deprecated Methods
18.1.3 Retrieving a Date Object
18.1.4 Advanced Features
18.2 Date Class Definition
18.3 Date Constructors
18.4 Date Methods
19 Distinct Types
19.1 Distinct Types Overview
19.1.1 Creating a Distinct Type Object
19.1.2 Storing Distinct Objects
19.1.3 Using Distinct Data Types
19.1.4 Custom Mapping of Distinct Types
20 Driver
20.1 Driver Overview
20.1.1 Loading and Registering a Driver
20.1.2 JDBC Implementation Alternatives
20.2 Driver Interface Definition
20.3 Driver Methods
21 DriverManager
21.1 DriverManager Overview
21.1.1 Keeping Track of Available Drivers
21.1.2 Establishing a Connection
21.1.3 DriverManager Methods Are Static
21.2 DriverManager Class Definition
21.3 DriverManager Methods
22 DriverPropertyInfo
22.1 DriverPropertyInfo Overview
22.1.1 Creating a DriverPropertyInfo Object
22.2 DriverPropertyInfo Class Definition
22.3 DriverPropertyInfo Constructor
22.4 DriverPropertyInfo Fields
23 PooledConnection
23.1 PooledConnection Overview
23.1.1 Application Code for Connection Pooling
23.1.2 How Connection Pooling Works
23.1.3 The Life Cycle of a PooledConnection Object
23.2 PooledConnection Definition
23.3 PooledConnection Methods
24 PreparedStatement
24.1 PreparedStatement Overview
24.1.1 Creating PreparedStatement Objects
24.1.2 Passing IN Parameters
24.1.3 Data Type Conformance on IN Parameters
24.1.4 Using setObject
24.1.5 Sending JDBC NULL as an IN parameter
24.1.6 Sending Very Large IN Parameters
24.1.7 Using PreparedStatement Objects in Batch Updates
24.2 PreparedStatement Interface Definition
24.3 PreparedStatement Methods
24.3.1 Methods Inherited from Statement
24.3.2 Methods Defined in PreparedStatement
25 Ref
25.1 Ref Overview
25.1.1 Creating an SQL Reference
25.1.2 Creating a Ref Object
25.1.3 Storing a Ref Object
25.1.4 Dereferencing a Ref Object
25.2 Ref Interface Definition
25.3 Ref Methods
26 ResultSet
26.1 ResultSet Overview
26.1.1 Rows and Columns
26.1.2 Cursors
26.1.3 Cursor Movement Examples
26.1.4 Determining the Number of Rows in a Result Set.
26.1.5 Retrieving Column Values
26.1.6 Which getXXX Method to Use
26.1.7 Types of Result Sets
26.1.8 Concurrency Types
26.1.9 Providing Performance Hints
26.1.10 Creating Different Types of Result Sets
26.1.11 Using a Prepared Statement to Create Result Sets.
26.1.12 Requesting Features That Are Not Supported
26.1.13 Using updateXXX Methods
26.1.14 Deleting a Row
26.1.15 Inserting Rows
26.1.16 Positioned Updates
26.1.17 Queries That Produce Updatable Result Sets
26.1.18 What Is Visible to Transactions
26.1.19 Visibility of Changes Made by Others
26.1.20 Visibility of a Result SetÍs Own Changes
26.1.21 Detecting Changes
26.1.22 Refetching a Row
26.1.23 Using Streams for Very Large Row Values
26.1.24 NULL Result Values
26.1.25 Optional or Multiple Result Sets
26.1.26 Closing a ResultSet Object
26.1.27 JDBC Compliance
26.2 ResultSet Interface Definition
26.3 ResultSet Methods
26.4 ResultSet Fields
27 ResultSetMetaData
27.1 ResultSetMetaData Overview
27.1.1 Creating a ResultSetMetaData Object
27.1.2 Using ResultSetMetaData
27.2 ResultSetMetaData Interface Definition
27.3 ResultSetMetaData Methods
27.4 ResultSetMetaData Fields
28 RowSet
28.1 RowSet Overview
28.1.1 The Event Model for Rowsets
28.1.2 Properties for a Rowset
28.1.3 Setting Parameters
28.1.4 Traversing a RowSet Object
28.1.5 Executing a Command
28.1.6 Using a RowSet ObjectÍs Metadata
28.2 An Example Implementation
28.2.1 Overview of CachedRowSet
28.2.2 Uses for a CachedRowSet Object
28.2.3 Sample CachedRowSet Definition
28.2.4 Creating a CachedRowSet Object
28.2.5 Populating a CachedRowSet Object
28.2.6 Accessing Data
28.2.7 Modifying Data
28.2.8 Customizing Readers and Writers
28.2.9 Other Methods
28.3 Other Possible Implementations
28.3.1 JDBCRowSet Class
28.3.2 The WebRowSet Class
28.4 RowSet Definition
28.5 RowSet Methods
28.5.1 Methods Inherited from ResultSet
28.5.2 Methods Defined in RowSet
28.6 RowSet Fields
29 RowSetEvent
29.1 RowSetEvent Overview
29.1.1 RowSet Events
29.1.2 Creating a RowSetEvent Object
29.2 RowSetEvent Definition
29.3 RowSetEvent Constructor
29.4 RowSetEvent Methods
29.4.1 Inherited Methods
30 RowSetInternal
30.1 RowSetInternal Overview
30.2 RowSetInternal Definition
30.3 RowSetInternal Methods
31 RowSetListener
31.1 RowSetListener Overview
31.1.1 Registering and Deregistering a Listener
31.1.2 Using RowSetListener Methods
31.2 RowSetListener Definition
31.3 RowSetListener Methods
32 RowSetMetaData
32.1 RowSetMetaData Overview
32.2 RowSetMetaData Definition
32.3 RowSetMetaData Methods
32.3.1 Methods Inherited from ResultSetMetaData.
32.3.2 Methods Defined in RowSetMetaData
32.4 RowSetMetaData Fields
33 RowSetReader
33.1 RowSetReader Overview
33.1.1 The Reader/Writer Framework
33.1.2 Reading Data for a Disconnected Rowset
33.2 RowSetReader Definition
33.3 RowSetReader Methods
34 RowSetWriter
34.1 RowSetWriter Overview
34.2 RowSetWriter Definition
34.3 RowSetWriter Methods
35 SQLData
35.1 SQLData Overview
35.1.1 Creating a Custom Mapping
35.1.2 How SQLData Retrieves an Object
35.1.3 How SQLData Is Used to Store an Object
35.2 SQLData Interface Definition
35.3 SQLData Methods
36 SQLException
36.1 SQLException Overview
36.1.1 What an SQLException Object Contains
36.1.2 Retrieving SQLException Information
36.1.3 What an SQLException Means
36.2 SQLException Class Definition
36.3 SQLException Constructors
36.4 SQLException Methods
36.4.1 Inherited Methods
36.4.2 Methods Defined in SQLException
37 SQLInput
37.1 SQLInput Overview
37.1.1 Creating an SQLInput Object
37.1.2 Using readXXX Methods
37.2 SQLInput Interface Definition
37.3 SQLInput Methods
38 SQLOutput
38.1 SQLOutput Overview
38.2 SQLOutput Interface Definition
38.3 SQLOutput Methods
39 SQLWarning
39.1 SQLWarning Overview
39.1.1 What an SQLWarning Object Contains
39.1.2 Retrieving SQLWarning Information
39.2 SQLWarning Class Definition
39.3 SQLWarning Constructors
39.4 SQLWarning Methods
39.4.1 Inherited Methods
39.4.2 Methods Defined in SQLWarning
40 Statement
40.1 Statement Overview
40.1.1 Creating Statement Objects
40.1.2 Executing Statements Using Statement Objects
40.1.3 Statement Completion
40.1.4 Closing Statements
40.1.5 SQL Escape Syntax in Statements
40.1.6 Sending Batch Updates
40.1.7 Giving Performance Hints
40.1.8 Executing Special Kinds of Statements
40.2 Statement Interface Definition
40.3 Statement Methods
41 Struct
41.1 Struct Overview
41.1.1 Creating an SQL Structured Type
41.1.2 Storing Referenceable Instances of a Structured Type
41.1.3 Creating a Struct Object
41.1.4 Mapping SQL Inheritance
41.1.5 Ordering of Attributes
41.1.6 Storing a Struct Object
41.2 Struct Interface Definition
41.3 Struct Methods
42 Time
42.1 Time Overview
42.1.1 Creating a Time Object
42.1.2 Deprecated Methods
42.1.3 Retrieving a Time Object
42.1.4 Advanced Features
42.2 Time Class Definition
42.3 Time Constructors
42.4 Time Methods
43 Timestamp
43.1 Timestamp Overview
43.1.1 Creating a Timestamp Object
43.1.2 Retrieving a Timestamp Object
43.1.3 Advanced Features
43.2 Timestamp Class Definition
43.3 Timestamp Constructors
43.4 Timestamp Methods
44 Types
44.1 Overview of Class Types
44.1.1 Using the Constants in Class Types
44.1.2 Using the Constant OTHER
44.1.3 JDBC Types Added in the JDBC 2.0 Core API
44.2 Types Class Definition
45 XAConnection
45.1 XAConnection Overview
45.1.1 Application Code in Distributed Transactions.
45.1.2 Distributed Transaction Requirements
45.1.3 Creating an XAConnection Object
45.1.4 What an XAResource Object Does
45.1.5 How the Two-phase Commit Protocol Works.
45.1.6 Using an XAResource Object to Commit
45.1.7 The XAResource Interface
45.1.8 Steps in a Distributed Transaction
45.1.9 Distributed Transactions and EJB
45.2 XAConnection Definition
45.3 XAConnection Methods
45.3.1 Methods Inherited from javax.sql.PooledConnection
45.3.2 Methods Defined in XAConnection
46 XADataSource
46.1 XADataSource Overview
46.1.1 Obtaining an XADataSource Object
46.1.2 XADataSource Objects and Resource Managers
46.2 XADataSource Definition
46.3 XADataSource Methods
47 Mapping SQL and Java Types
47.1 Mapping Overview
47.2 Mapping SQL Types to Java Types
47.3 Basic JDBC Types
47.3.1 CHAR, VARCHAR, LONGVARCHAR
47.3.2 BINARY, VARBINARY, LONGVARBINARY
47.3.3 BIT
47.3.4 TINYINT
47.3.5 SMALLINT
47.3.6 INTEGER
47.3.7 BIGINT
47.3.8 REAL
47.3.9 DOUBLE
47.3.10 FLOAT
47.3.11 DECIMAL and NUMERIC
47.3.12 DATE, TIME, and TIMESTAMP
47.4 Advanced JDBC Data Types
47.4.1 BLOB
47.4.2 CLOB
47.4.3 ARRAY
47.4.4 DISTINCT
47.4.5 STRUCT
47.4.6 REF
47.4.7 JAVA_OBJECT
47.5 Examples of Mapping
47.5.1 Simple SQL Statement
47.5.2 SQL Statement with IN Parameters
47.5.3 SQL Statement with INOUT Parameters
47.6 Custom Mapping
47.7 Dynamic Data Access
47.8 Storing Java Objects in a Database
47.9 Tables for Type Mapping
47.9.1 JDBC Types Mapped to Java Types
47.9.2 Java Types Mapped to JDBC Types
47.9.3 JDBC Types Mapped to Java Object Types
47.9.4 Java Object Types Mapped to JDBC Types
47.9.5 Conversions by setObject
47.9.6 Conversions by ResultSet.getXXX Methods.
47.9.7 Types Mapped to Database-specific SQL Types.
Appendix A: For Driver Writers 935
A.1 Requirements for All Drivers
A.1.1 Implement Methods in the Interfaces
A.1.2 Implement a Static Initializer
A.1.3 Support Extensions to SQL?92 Entry Level
A.1.4 Support Scalar Functions
A.1.5 Provide Locks for Positioned Updates and Deletes
A.1.6 Support Multithreading
A.1.7 Throw Exceptions for Truncated Input Parameters
A.1.8 Use Default Behaviors for SQL3 Data Types
A.2 Permitted Variants
A.2.1 When Functionality Is Not Supported
A.2.2 Variation in Fundamental Properties
A.2.3 Adding Functionality
A.3 Security Responsibilities of Drivers
A.3.1 Check Shared TCP Connections
A.3.2 Check All Local File Access
A.3.3 Assume the Worst
A.4 Use SQLException for Exceptions
A.5 Suggested Implementations
A.5.1 Prefetch Rows
A.5.2 Provide ñFinalizeî Methods for Applets
A.5.3 Avoid Implementation-dependent States
Appendix B: Summary of Changes 951
B.1 Overview of JDBC 2.0 Core API Changes
B.2 Summary of New Functionality
B.2.1 Scrollable Result Sets
B.2.2 Batch Updates
B.2.3 Programmatic Updates
B.2.4 Other New Features
B.3 Support for Advanced Data Types
B.3.1 What Are the SQL3 Data Types?
B.3.2 Summary of Support for the SQL3 Data Types
B.3.3 Mapping of the New SQL3 Types
B.3.4 SQL Locators
B.3.5 Support for Storing Java Objects
B.4 Complete List of Core API Changes
B.4.1 What Did Not Change
B.4.2 Additions to Existing Interfaces and Classes.
B.4.3 Deprecated Methods and Constructors
B.4.4 New Interfaces, Classes, and Exceptions
B.5 JDBC Standard Extension Features
B.5.1 JNDI
B.5.2 Connection Pooling
B.5.3 Support for Distributed Transactions
B.5.4 Rowsets
B.6 Complete List of Extension API
B.7 Post JDBC 1.0 API Changes
B.7.1 Numeric to Bignum to BigDecimal
B.7.2 AutoClose Mode Dropped
B.8 Early Design Decisions
B.8.1 ResultSet.getXXX Methods
B.8.2 PreparedStatement.setXXX Methods
B.8.3 CallableStatement.registerOutParameter Method
B.8.4 Support for Large OUT Parameters
B.8.5 isNull versus wasNull
B.8.6 Java Type Names or JDBC Type Names
B.9 Where to Send Suggestions
Glossary
Index
What Our Readers Are Saying
Be the first to add a comment for a chance to win!
Product Details
- ISBN:
- 9780201433289
- Subtitle:
- Universal Data Access for the Java(tm) 2 Platform
- Author:
- Author:
- Author:
- Publisher:
- Addison-Wesley Professional
- Location:
- Reading, MA :
- Subject:
- Database Management - General
- Subject:
- Database management
- Subject:
- Java (Computer program language)
- Subject:
- Internet programming
- Subject:
- Programming Languages - Java
- Subject:
- Java
- Edition Number:
- 2
- Series:
- Java Series
- Series Volume:
- MF-773-N
- Publication Date:
- June 1999
- Binding:
- Paperback
- Language:
- English
- Illustrations:
- Yes
- Pages:
- 1088
- Dimensions:
- 9.22x7.40x1.95 in. 3.51 lbs.










