0% found this document useful (0 votes)
23 views

UNIT 5 Interacting-With-Database

Uploaded by

ashu.joshi2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

UNIT 5 Interacting-With-Database

Uploaded by

ashu.joshi2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 31

Advance Java Programming(22517)

ODBC stands for Open Database


Connectivity
A standard or open application
programming interface (API) for
accessing a database.
ODBC provides a C interface for
database access on Windows
environment.
2
JDBC stands
for Java Database Connectivity.
It is a standard Java API for
connecting programs written in
Java to the data in relational
databases.
JDBC works with Java on a variety
of platforms, such as Windows, Mac
OS, and the various versions of
UNIX.
3
 JDBC Driver is a software component that
enables java application to interact with the
database. There are 4 types of JDBC drivers:

 JDBC-ODBC bridge driver


 Native-API driver (partially java driver)
 JDBC-Net pure Java/ Network-Protocol driver (fully
java driver)
 Pure Java Driver /Thin driver / Database-Protocol
driver(fully java driver)

4
 The JDBC type 1 driver, also known as the JDBC-
ODBC bridge driver.
 The JDBC-ODBC bridge driver uses ODBC driver to
connect to the database. The JDBC-ODBC bridge
driver converts JDBC method calls into the ODBC
function calls.

5
 The JDBC type 2 driver, also known as
the Native-API driver
 The Native API driver uses the client-side
libraries of the database. The driver converts
JDBC method calls into native calls of the
database API. It is not written entirely in java.

6
 The JDBC type 3 driver, also known as the Pure Java
driver for database middleware. It is a database
driver implementation which makes use of a middle
tier between the calling program and the database.
 The middle-tier (application server)
converts JDBC calls directly or indirectly into a
vendor-specific database protocol. It is fully written
in java.

7
 The JDBC type 4 driver, also known as the Direct to
Database Pure Java Driver, is a database driver
implementation that converts JDBC calls directly into a
vendor specific database protocol.
 That is why it is known as thin driver. It is fully written in
Java language.

8
 In a two-tier model, a Java application
communicates directly with the database, via
the JDBC driver.

9
 In a three-tier model, a Java application
communicates with a middle tier component
that functions as an application server. The
application server talks to a given database
using JDBC.

10
 The JDBC API provides the following
interfaces and classes −
 DriverManager Class
 Driver Interface
 Connection Interface
 Statement Interface
 ResultSet Interface

11
DriverManager Class
 The DriverManager class acts as an interface
between user and drivers.
 It keeps track of the drivers that are available
and handles establishing a connection between
a database and the appropriate driver.
 The DriverManager class maintains a list of
Driver classes that have registered themselves
by calling the method
DriverManager.registerDriver().

12
Commonly used methods of DriverManager class
Method Description

public static void registerDriver( is used to register the given driver


with DriverManager.
Driver driver);

public static void deregisterDriver( is used to deregister the given


driver (drop the driver from the
Driver driver); list) with DriverManager.

public static Connection is used to establish the connection


with the specified url.
getConnection ( String url);

public static Connection


is used to establish the connection
getConnection( String url, String with the specified url, username
and password.
userName, String password); 13
 This interface handles the communications
with the database server.
 You will very rarely interact directly with Driver
objects.
 Instead, you use DriverManager objects, which
manages objects of this type.

14
A Connection is the session between java application
and database.
 The Connection interface provide many methods for
transaction management like commit(), rollback() etc.
 When getConnection() method is called, it returns a
connection object.
Connection
con=DriverManager.getConnection(URL);

15
Commonly used methods of Connection
interface
Method Description
public Statement creates a statement
object that can be used
createStatement(); to execute SQL queries.
public void It is used to set the
setAutoCommit(bool commit status. By
default it is true.
ean status);
It saves the changes
public void made since the previous
commit/rollback
commit(); permanent.
public void Drops all changes made
since the previous
rollback(); commit/rollback.
closes the connection and
Releases a JDBC resources
public void close(); immediately.
16
 The Statement interface provides methods to
execute queries with the database.
 It provides factory method to get the object of
ResultSet.

17
Commonly used methods of Statement interface

Method Description

public ResultSet
used to execute SELECT query.
executeQuery(String It returns the object of ResultSet.
sql);
public int used to execute specified query,
executeUpdate(String it may be create, drop, insert,
sql); update, delete etc.

public boolean used to execute queries that may


execute(String sql); return multiple results.

public int[] used to execute batch of


executeBatch(); commands.

void close() Close the statement


18 object
A ResultSet object provides access to a table
of data.
 ResultSet object is usually generated by
executing a statement.
 The object of ResultSet maintains a cursor
pointing to a particular row of data.
 Initially, cursor points before the first row.

19
Commonly used methods of ResultSet interface
Method Description

public boolean next(); is used to move the cursor to the one row next
from the current position.

public boolean previous(); is used to move the cursor to the one row previous
from the current position.

public boolean first(); is used to move the cursor to the first row in result
set object.

public boolean last(); is used to move the cursor to the last row in result
set object.

public boolean absolute(int is used to move the cursor to the specified row
number in the ResultSet object.
row);
public int getInt(int is used to return the data of specified column index
of the current row as int.
columnIndex);
public int getInt(String is used to return the data of specified column name
of the current row as int.
columnName);
public String getString(int is used to return the data of specified column index
of the current row as String.
columnIndex);
public String getString(String is used to return the data of specified column name
of the current row as String.
columnName); 20
 Thereare 5 steps to connect any java
application with the database in java using
JDBC. They are as follows:
1. Register the driver class
2. Creating connection
3. Creating statement
4. Executing queries
5. Closing connection

21
 The Class.forName() method is used to register the
driver class. This method is used to dynamically load
the driver class.

 Syntax of forName() method

public static void forName(String className)throws ClassNotFoun


dException

 Example to register with JDBC-ODBC Driver

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

22
2. Creating connection
 TheDriverManager.getConnection() method is
used to establish connection with the database.

 Example establish connection with


Oracle Driver
Connection con = DriverManager.getConnection
("jdbc:odbc:DemoDB","username","password");

23
3. Creating statement
 ThecreateStatement() method of
Connection interface is used to create
statement. The object of statement is
responsible to execute queries with the
database.

 Example to create the statement object


Statement stmt=con.createStatement();

24
4. Executing queries
 The executeQuery() method of Statement interface
is used to execute queries to the database.
 This method returns the object of ResultSet that
can be used to get all the records of a table.

 Example to execute query

ResultSet rs=stmt.executeQuery("select * from emp"


);
while(rs.next())
{

System.out.println(rs.getInt(1)+" "+rs.getString(
2));
} 25
5. Closing connection
 By closing connection object statement and
ResultSet will be closed automatically.
 The close() method of Connection interface is
used to close the connection.

 Example to close connection

con.close();

26
Example to Connect Java
Application with mysql database

27
import java.sql.*;
class MysqlCon{
public static void main(String args[])
{
Try{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:33
06/Emp","root","root");
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery("select * from emp");
while(rs.next())
System.out.println(rs.getInt(1)+" "+rs.getString(2)+" "+rs.getString(3));
con.close();
}
catch(Exception e) {
System.out.println(e); }
} 28
29
import java.sql.*;
public class JdbcAccessTest {
public static void main(String[] args) {
String databaseURL = "jdbc:ucanaccess://e://Contacts.accdb";
try (
Connection connection = DriverManager.getConnection(databaseURL)) {
String sql = "INSERT INTO Contacts (Full_Name, Email, Phone) VALUES
(?, ?, ?)";
PreparedStatement preparedStatement =
connection.prepareStatement(sql);
preparedStatement.setString(1, "Rohit");
preparedStatement.setString(2, "[email protected]");
preparedStatement.setString(3, "0919989998");
int row = preparedStatement.executeUpdate();

if (row > 0) {
System.out.println("A row has been inserted successfully.");
}
30
sql = "SELECT * FROM Contacts";
Statement statement = connection.createStatement();
ResultSet result = statement.executeQuery(sql);
while (result.next()) {
int id = result.getInt("Contact_ID");
String fullname = result.getString("Full_Name");
String email = result.getString("Email");
String phone = result.getString("Phone");
System.out.println(id + ", " + fullname + ", " + email + ", " +
phone);
}
} catch (SQLException ex) {
ex.printStackTrace();
}
}
}
31

You might also like