JDBC
What is
JDBC?
The JDBC ( Java Database Connectivity) API
defines interfaces and classes for writing database applications in Java by
making database connections.
Using
JDBC you can send SQL, PL/SQL statements to almost any relational database.
JDBC is a Java API for executing SQL statements and supports basic SQL
functionality.
It provides RDBMS access by allowing you to
embed SQL inside Java code. Because Java can run on a thin client, applets
embedded in Web pages can contain downloadable JDBC code to enable remote
database access.
JDBC Architecture
Java application calls the JDBC library. JDBC
loads a driver which talks to the database. We can change database engines
without changing database code.
JDBC Basics – Java Database Connectivity Steps
Before you can create a java jdbc connection to
the database, you must first import the java.sql package.
import
java.sql.*;
The star ( * ) indicates that all of the classes
in the package java.sql are to be imported.
1. Loading a database driver,
In this step of the jdbc connection process, we
load the driver class by calling Class.forName() with the Driver class name as
an argument. Once loaded, the Driver class creates an instance of itself. A
client can connect to Database Server through JDBC Driver. Since most of
the Database servers support ODBC driver therefore JDBC-ODBC Bridge driver is
commonly used.
The return type of the Class.forName (String ClassName) method is
“Class”. Class is a class in java.lang package.
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //Or any
other driver
}
catch(Exception
x){
System.out.println( "Unable to
load the driver class!" );
}
|
2. Creating a oracle jdbc Connection
The JDBC DriverManager class defines objects which can connect Java applications to a JDBC driver. DriverManager is considered the backbone of JDBC architecture.
The JDBC DriverManager class defines objects which can connect Java applications to a JDBC driver. DriverManager is considered the backbone of JDBC architecture.
DriverManager class manages the JDBC drivers
that are installed on the system.
Its getConnection() method is used to establish
a connection to a database.
It uses a username, password, and a jdbc url to
establish a connection to the database and returns a connection object.
A jdbc
Connection represents a session/connection with a specific database. Within the
context of a Connection, SQL, PL/SQL statements are executed and results are
returned.
An application can have one or more connections
with a single database, or it can have many connections with different
databases.
A
Connection object provides metadata i.e. information about the database,
tables, and fields. It also contains methods to deal with transactions.
JDBC URL
Syntax
jdbc: <subprotocol>: <subname>
|
JDBC URL Example
jdbc: odbc:
mydsn
Each driver has its own subprotocol
Each subprotocol has its own syntax for the
source. We’re using the jdbc odbc subprotocol, so the DriverManager knows to
use the sun.jdbc.odbc.JdbcOdbcDriver.
try{
Connection con=DriverManager.getConnection(url,"loginName","Password")
}
catch(
SQLException x ){
System.out.println( "Couldn't
get connection!" );
}
|
3. Creating a jdbc Statement object,
Once a connection is obtained we can interact
with the database. Connection interface defines methods for interacting with
the database via the established connection. To execute SQL statements, you
need to instantiate a Statement object from your connection object by using the
createStatement() method.
Statement st = con.createStatement();
A statement object is used to send and execute
SQL statements to a database.
Three kinds of Statements
Statement: Execute
simple sql queries without parameters.
Statement createStatement()
Creates an SQL Statement object.
Statement createStatement()
Creates an SQL Statement object.
Prepared Statement: Execute
precompiled sql queries with or without parameters.
PreparedStatement prepareStatement(String sql)
returns a new PreparedStatement object. PreparedStatement objects are precompiled
SQL statements.
Callable Statement: Execute
a call to a database stored procedure.
CallableStatement prepareCall(String sql)
returns a new CallableStatement object. CallableStatement objects are SQL stored procedure call statements.
CallableStatement prepareCall(String sql)
returns a new CallableStatement object. CallableStatement objects are SQL stored procedure call statements.
4. Executing a SQL statement with the
Statement object, and returning a jdbc resultSet.
Statement interface defines methods that are
used to interact with database via the execution of SQL statements.
The Statement class has three methods for
executing statements:
executeQuery(), executeUpdate(), and execute().
executeQuery(), executeUpdate(), and execute().
For a
SELECT statement, the method to use is executeQuery .
For statements that create or modify tables, the
method to use is executeUpdate.
Note: Statements that create a table,
alter a table, or drop a table are all examples of DDL statements and are
executed with the method executeUpdate. execute() executes an SQL statement
that is written as String object.
ResultSet provides
access to a table of data generated by executing a Statement. The table rows
are retrieved in sequence. A ResultSet maintains a cursor pointing to its
current row of data. The next() method is used to successively step through the
rows of the tabular results.
ResultSetMetaData Interface
holds information on the types and properties of the columns in a ResultSet. It
is constructed from the Connection object.
JDBC-ODBC
Bridge driver(Type 1Driver)
The Type 1 driver translates all JDBC calls into ODBC
calls and sends them to the ODBC driver. ODBC is a generic API. The JDBC-ODBC
Bridge driver is recommended only for experimental use or when no other
alternative is available.
y:
"TiW �
N w @^z
`>~
olor:black'>A statement object is used to send and execute
SQL statements to a database.
Three kinds of Statements
Statement: Execute
simple sql queries without parameters.
Statement createStatement()
Creates an SQL Statement object.
Statement createStatement()
Creates an SQL Statement object.
Creation
of DSN
Start->control
panel ->administrative toos->Data Sorce(ODBC)->press add ->select
microsoft ODBC for Oracle->give dsn name(here csedsn )->press ok.
Press ok.
Sample
Programs
SelectRecord.java
InsertRecord.java
UpdateRecord.java