100% found this document useful (2 votes)
528 views

JDBC

The document discusses the different types of JDBC drivers: Type 1 drivers use ODBC as a bridge to communicate with databases. Type 2 drivers use native APIs but require native code installation. Type 3 drivers use networking protocols and middleware to communicate without native code. Type 4 drivers implement vendor protocols entirely in Java. The document also provides an overview of key JDBC concepts like connections, statements, transactions, and the JDBC architecture which allows Java programs to execute SQL statements on various databases using a standard API.

Uploaded by

vedicsoft
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
528 views

JDBC

The document discusses the different types of JDBC drivers: Type 1 drivers use ODBC as a bridge to communicate with databases. Type 2 drivers use native APIs but require native code installation. Type 3 drivers use networking protocols and middleware to communicate without native code. Type 4 drivers implement vendor protocols entirely in Java. The document also provides an overview of key JDBC concepts like connections, statements, transactions, and the JDBC architecture which allows Java programs to execute SQL statements on various databases using a standard API.

Uploaded by

vedicsoft
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

Java Database

Connectivity
Types of JDBC drivers
• Driver types are used to categorize the
technology used to connect to the database.
• A JDBC driver vendor uses these types to
describe how their product operates.
• Some JDBC driver types are better suited for
some applications than others.

2
Type 1
• Type 1 drivers are "bridge" drivers.
• They use another technology such as Open Database
Connectivity (ODBC) to communicate with a database.
• This is an advantage because ODBC drivers exist for
many Relational Database Management System
(RDBMS) platforms.
• The Java Native Interface (JNI) is used to call ODBC
functions from the JDBC driver.
• A Type 1 driver needs to have the bridge driver installed
and configured before JDBC can be used with it.
• This can be a serious drawback for a production
application.
• Type 1 drivers cannot be used in an applet since applets
cannot load native code.
3
Type 2
• Type 2 drivers use a native API to communicate with a
database system.
• Java native methods are used to invoke the API
functions that perform database operations.
• Type 2 drivers are generally faster than Type 1 drivers.
• Type 2 drivers need native binary code installed and
configured to work.
• A Type 2 driver also uses the JNI.
• You cannot use a Type 2 driver in an applet since
applets cannot load native code.
• A Type 2 JDBC driver may require some Database
Management System (DBMS) networking software to be
installed.

4
Type 3
• These drivers use a networking protocol and
middleware to communicate with a server.
• The server then translates the protocol to DBMS
function calls specific to DBMS.
• Type 3 JDBC drivers are the most flexible JDBC
solution because they do not require any native
binary code on the client.
• A Type 3 driver does not need any client
installation.

5
Type 4
• A Type 4 driver uses Java to implement a DBMS vendor
networking protocol.
• Since the protocols are usually proprietary, DBMS
vendors are generally the only companies providing a
Type 4 JDBC driver.
• Type 4 drivers are all Java drivers.
• This means that there is no client installation or
configuration.
• However, a Type 4 driver may not be suitable for some
applications if the underlying protocol does not handle
issues such as security and network connectivity well.

6
JDBC Driver
• DataBase Driver used by Java Applications and Applets
is JDBC driver
• JDBC : Not an acronym for anything but is associated
with Java Database Connectivity

7
Connection
• A connection object represents a connection
with a database.
• A connection session includes the SQL
statements that are executed and the results
that are returned over that connection.
• A single application can have one or more
connections with a single database, or it can
have many connections with many different
databases.

8
Statement
• A statement object is used to send SQL
statements to a database.
• Three kinds :
– Statement
– Prepared Statement
– Callable Statement

9
Transactions
• A new connection is in auto-commit mode by
default
• If autocommit mode has been disabled, a
transaction will not terminate until the method
commit or rollback is called explicitly
• Most database drivers support transactions
Transaction-isolation levels can be set

10
JDBC
• JDBC is a Java API for executing SQL statements (A
single program will be able to send SQL statements to
the appropriate database)

• The API consists of classes and interfaces to send SQL


statements to any (relational) database(JDBC is a low
level API that supports basic SQL functionality)

• JDBC makes it possible to do three things:


– establish a connection with a database
– send SQL statements
– process the results

11
Two-tier & Three-tier Models
• JDBC supports both
– two tier: ( client server configuration)
– three- tier model: commands are sent to a
middle tier , which then send SQL statements
to the database.
• The database processes the SQL
statements and sends the result back to
the middle tier (provides performance
advantage)

12
JDBC products
• Javasoft provides three components as part of JDK
– the JDBC driver manager
– the JDBC driver test suite
– the JDBC-ODBC bridge
• Connects java applications to the correct JDBC driver
• Provides the entry SQL functionality for JDBC
functionality
• Allows ODBC drivers to be used as JDBC drivers

13
JDBC Architecture

14
JDBC-ODBC
• Why do we not use ODBC from Java?
• Why do we need JDBC?
• ODBC uses C interface( security, implementation,
robustness, portability)
• ODBC is complex to learn for simple queries, JDBC is
easier to use
• JDBC code is automatically installable and portable from
network computers to mainframes
• You can use ODBC from Java, but this is best done with
the help of JDBC in the form of JDBC-ODBC bridge

15
JDBC-ODBC Bridge

16
JDBC - classes and interfaces
• DriverManager class - manages the JDBC drivers that are
installed on the system.
• getConnection() : to establish a connection to a database.
• Connection getConnection(String url)
• Connection getConnection(String url, String userID,String
password)
• Connection getConnection(String url, String userID,String
password)

17
Connection Interface
• Connection interface - defines methods for interacting with the
database via the established connection.
• The different methods are:
• close() - closes the database connection
• createStatement() - creates an SQL Statement object
• prepareStatement() - creates an SQL PreparedStatement
object.(PreparedStatement objects are precompiled SQL statements)
• prepareCall() - creates an SQL CallableStatement object using an
SQL string. (CallableStatement objects are SQL stored procedure call
statements)

18
Statement Interface
• Statement interface - defines methods that are used to interact with
database via the execution of SQL statements.
• The different methods are:
• executeQuery() - executes an SQL statement (SELECT) that queries
a database and returns a ResultSet object.
• executeUpdate() - executes an SQL statement (INSERT,UPDATE,or
DELETE) that updates the database and returns an int,
• the row count associated with the SQL statement
• execute() - executes an SQL statement that is written as String object
• getResultSet() - used to retrieve the ResultSet object

19
ResultSet Interface
• ResultSet Interface - maintains a pointer to a row within the tabular
results.
• The next() method is used to successively step through the rows of
the tabular results.
• The different methods are:
• getBoolean(int) - Get the value of a column in the current row as a
Java boolean.
• getByte(int) - Get the value of a column in the current row as a Java
byte.
• getDouble(int) - Get the value of a column in the current row as a
Java double.
• getInt(int) - Get the value of a column in the current row as a Java int.

20
ResultSetMetaData Interface
• ResultSetMetaData Interface - holds information on the types and
properties of the columns in a ResultSet.
• Provides information about the database as a whole.Constructed
from the Connection object
• The different methods are:
• getColumnName()
• getColumnType()
• getColumnLabel(count)

21
Happy
JDBC Programming!

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy