SlideShare una empresa de Scribd logo
1 de 31
Advance Java Programming(22517)
Miss.P.S.Dungarwal
Lecturer in CM Department.
SHHJB Polytechnic, Chandwad.
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.
2Miss.P.S.Dungarwal
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.
3Miss.P.S.Dungarwal
 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)
4Miss.P.S.Dungarwal
 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.
5Miss.P.S.Dungarwal
 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.
6Miss.P.S.Dungarwal
 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.
7Miss.P.S.Dungarwal
 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.
8Miss.P.S.Dungarwal
 In a two-tier model, a Java application
communicates directly with the database, via
the JDBC driver.
9Miss.P.S.Dungarwal
 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.
10Miss.P.S.Dungarwal
 The JDBC API provides the following
interfaces and classes −
 DriverManager Class
 Driver Interface
 Connection Interface
 Statement Interface
 ResultSet Interface
11Miss.P.S.Dungarwal
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().
12Miss.P.S.Dungarwal
Method Description
public static void registerDriver(
Driver driver);
is used to register the given driver
with DriverManager.
public static void deregisterDriver(
Driver driver);
is used to deregister the given
driver (drop the driver from the
list) with DriverManager.
public static Connection
getConnection ( String url);
is used to establish the connection
with the specified url.
public static Connection
getConnection( String url, String
userName, String password);
is used to establish the connection
with the specified url, username
and password.
Commonly used methods of DriverManager class
13Miss.P.S.Dungarwal
 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.
14Miss.P.S.Dungarwal
 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);
15Miss.P.S.Dungarwal
Commonly used methods of Connection
interface
Method Description
public Statement
createStatement();
creates a statement
object that can be used
to execute SQL queries.
public void
setAutoCommit(bool
ean status);
It is used to set the
commit status. By
default it is true.
public void
commit();
It saves the changes
made since the previous
commit/rollback
permanent.
public void
rollback();
Drops all changes made
since the previous
commit/rollback.
public void close();
closes the connection and
Releases a JDBC resources
immediately.
16Miss.P.S.Dungarwal
 The Statement interface provides methods to
execute queries with the database.
 It provides factory method to get the object of
ResultSet.
17Miss.P.S.Dungarwal
Method Description
public ResultSet
executeQuery(String
sql);
used to execute SELECT query.
It returns the object of ResultSet.
public int
executeUpdate(String
sql);
used to execute specified query,
it may be create, drop, insert,
update, delete etc.
public boolean
execute(String sql);
used to execute queries that may
return multiple results.
public int[]
executeBatch();
used to execute batch of
commands.
void close() Close the statement object
Commonly used methods of Statement interface
18Miss.P.S.Dungarwal
 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.
19Miss.P.S.Dungarwal
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
row);
is used to move the cursor to the specified row
number in the ResultSet object.
public int getInt(int
columnIndex);
is used to return the data of specified column index
of the current row as int.
public int getInt(String
columnName);
is used to return the data of specified column name
of the current row as int.
public String getString(int
columnIndex);
is used to return the data of specified column index
of the current row as String.
public String getString(String
columnName);
is used to return the data of specified column name
of the current row as String.
Commonly used methods of ResultSet interface
20Miss.P.S.Dungarwal
 There are 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
21Miss.P.S.Dungarwal
 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");
22Miss.P.S.Dungarwal
2. Creating connection
 The DriverManager.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");
23Miss.P.S.Dungarwal
3. Creating statement
 The createStatement() 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();
24Miss.P.S.Dungarwal
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));
} 25Miss.P.S.Dungarwal
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();
26Miss.P.S.Dungarwal
Example to Connect Java
Application with mysql database
27Miss.P.S.Dungarwal
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); }
} 28Miss.P.S.Dungarwal
29Miss.P.S.Dungarwal
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, "rohit@mi.com");
preparedStatement.setString(3, "0919989998");
int row = preparedStatement.executeUpdate();
if (row > 0) {
System.out.println("A row has been inserted successfully.");
}
30Miss.P.S.Dungarwal
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();
}
}
}
31Miss.P.S.Dungarwal

Más contenido relacionado

La actualidad más candente (20)

Dbms lab Manual
Dbms lab ManualDbms lab Manual
Dbms lab Manual
 
javascript objects
javascript objectsjavascript objects
javascript objects
 
Introduction to java beans
Introduction to java beansIntroduction to java beans
Introduction to java beans
 
Document Object Model
Document Object ModelDocument Object Model
Document Object Model
 
Jsp/Servlet
Jsp/ServletJsp/Servlet
Jsp/Servlet
 
Java Server Pages
Java Server PagesJava Server Pages
Java Server Pages
 
Java beans
Java beansJava beans
Java beans
 
Document Object Model (DOM)
Document Object Model (DOM)Document Object Model (DOM)
Document Object Model (DOM)
 
State Management in ASP.NET
State Management in ASP.NETState Management in ASP.NET
State Management in ASP.NET
 
JAVA AWT
JAVA AWTJAVA AWT
JAVA AWT
 
Database programming
Database programmingDatabase programming
Database programming
 
Database Management - Lecture 2 - SQL select, insert, update and delete
Database Management - Lecture 2 - SQL select, insert, update and deleteDatabase Management - Lecture 2 - SQL select, insert, update and delete
Database Management - Lecture 2 - SQL select, insert, update and delete
 
ADO .Net
ADO .Net ADO .Net
ADO .Net
 
Ado.Net Tutorial
Ado.Net TutorialAdo.Net Tutorial
Ado.Net Tutorial
 
Introduction to php
Introduction to phpIntroduction to php
Introduction to php
 
Frames tables forms
Frames tables formsFrames tables forms
Frames tables forms
 
php
phpphp
php
 
Php array
Php arrayPhp array
Php array
 
PHP - Introduction to PHP AJAX
PHP -  Introduction to PHP AJAXPHP -  Introduction to PHP AJAX
PHP - Introduction to PHP AJAX
 
Swing and AWT in java
Swing and AWT in javaSwing and AWT in java
Swing and AWT in java
 

Similar a Advance Java Programming Using JDBC

Similar a Advance Java Programming Using JDBC (20)

Jdbc
JdbcJdbc
Jdbc
 
Database connect
Database connectDatabase connect
Database connect
 
Jdbc 1
Jdbc 1Jdbc 1
Jdbc 1
 
Overview Of JDBC
Overview Of JDBCOverview Of JDBC
Overview Of JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
Introduction to JDBC and database access in web applications
Introduction to JDBC and database access in web applicationsIntroduction to JDBC and database access in web applications
Introduction to JDBC and database access in web applications
 
Jdbc[1]
Jdbc[1]Jdbc[1]
Jdbc[1]
 
JDBC programming
JDBC programmingJDBC programming
JDBC programming
 
Core jdbc basics
Core jdbc basicsCore jdbc basics
Core jdbc basics
 
JDBC.ppt
JDBC.pptJDBC.ppt
JDBC.ppt
 
Java jdbc
Java jdbcJava jdbc
Java jdbc
 
Unit 5.pdf
Unit 5.pdfUnit 5.pdf
Unit 5.pdf
 
Jdbc
JdbcJdbc
Jdbc
 
Final Database Connectivity in JAVA.ppt
Final Database Connectivity in JAVA.pptFinal Database Connectivity in JAVA.ppt
Final Database Connectivity in JAVA.ppt
 
Java Database Connectivity
Java Database ConnectivityJava Database Connectivity
Java Database Connectivity
 
JDBC
JDBCJDBC
JDBC
 
Jdbc introduction
Jdbc introductionJdbc introduction
Jdbc introduction
 
jdbc_presentation.ppt
jdbc_presentation.pptjdbc_presentation.ppt
jdbc_presentation.ppt
 
Jdbc sasidhar
Jdbc  sasidharJdbc  sasidhar
Jdbc sasidhar
 
JDBC Part - 2
JDBC Part - 2JDBC Part - 2
JDBC Part - 2
 

Último

INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parentsnavabharathschool99
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beña
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Celine George
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 

Último (20)

TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Choosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for ParentsChoosing the Right CBSE School A Comprehensive Guide for Parents
Choosing the Right CBSE School A Comprehensive Guide for Parents
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17Computed Fields and api Depends in the Odoo 17
Computed Fields and api Depends in the Odoo 17
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 

Advance Java Programming Using JDBC

  • 1. Advance Java Programming(22517) Miss.P.S.Dungarwal Lecturer in CM Department. SHHJB Polytechnic, Chandwad.
  • 2. 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. 2Miss.P.S.Dungarwal
  • 3. 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. 3Miss.P.S.Dungarwal
  • 4.  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) 4Miss.P.S.Dungarwal
  • 5.  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. 5Miss.P.S.Dungarwal
  • 6.  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. 6Miss.P.S.Dungarwal
  • 7.  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. 7Miss.P.S.Dungarwal
  • 8.  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. 8Miss.P.S.Dungarwal
  • 9.  In a two-tier model, a Java application communicates directly with the database, via the JDBC driver. 9Miss.P.S.Dungarwal
  • 10.  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. 10Miss.P.S.Dungarwal
  • 11.  The JDBC API provides the following interfaces and classes −  DriverManager Class  Driver Interface  Connection Interface  Statement Interface  ResultSet Interface 11Miss.P.S.Dungarwal
  • 12. 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(). 12Miss.P.S.Dungarwal
  • 13. Method Description public static void registerDriver( Driver driver); is used to register the given driver with DriverManager. public static void deregisterDriver( Driver driver); is used to deregister the given driver (drop the driver from the list) with DriverManager. public static Connection getConnection ( String url); is used to establish the connection with the specified url. public static Connection getConnection( String url, String userName, String password); is used to establish the connection with the specified url, username and password. Commonly used methods of DriverManager class 13Miss.P.S.Dungarwal
  • 14.  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. 14Miss.P.S.Dungarwal
  • 15.  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); 15Miss.P.S.Dungarwal
  • 16. Commonly used methods of Connection interface Method Description public Statement createStatement(); creates a statement object that can be used to execute SQL queries. public void setAutoCommit(bool ean status); It is used to set the commit status. By default it is true. public void commit(); It saves the changes made since the previous commit/rollback permanent. public void rollback(); Drops all changes made since the previous commit/rollback. public void close(); closes the connection and Releases a JDBC resources immediately. 16Miss.P.S.Dungarwal
  • 17.  The Statement interface provides methods to execute queries with the database.  It provides factory method to get the object of ResultSet. 17Miss.P.S.Dungarwal
  • 18. Method Description public ResultSet executeQuery(String sql); used to execute SELECT query. It returns the object of ResultSet. public int executeUpdate(String sql); used to execute specified query, it may be create, drop, insert, update, delete etc. public boolean execute(String sql); used to execute queries that may return multiple results. public int[] executeBatch(); used to execute batch of commands. void close() Close the statement object Commonly used methods of Statement interface 18Miss.P.S.Dungarwal
  • 19.  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. 19Miss.P.S.Dungarwal
  • 20. 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 row); is used to move the cursor to the specified row number in the ResultSet object. public int getInt(int columnIndex); is used to return the data of specified column index of the current row as int. public int getInt(String columnName); is used to return the data of specified column name of the current row as int. public String getString(int columnIndex); is used to return the data of specified column index of the current row as String. public String getString(String columnName); is used to return the data of specified column name of the current row as String. Commonly used methods of ResultSet interface 20Miss.P.S.Dungarwal
  • 21.  There are 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 21Miss.P.S.Dungarwal
  • 22.  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"); 22Miss.P.S.Dungarwal
  • 23. 2. Creating connection  The DriverManager.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"); 23Miss.P.S.Dungarwal
  • 24. 3. Creating statement  The createStatement() 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(); 24Miss.P.S.Dungarwal
  • 25. 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)); } 25Miss.P.S.Dungarwal
  • 26. 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(); 26Miss.P.S.Dungarwal
  • 27. Example to Connect Java Application with mysql database 27Miss.P.S.Dungarwal
  • 28. 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); } } 28Miss.P.S.Dungarwal
  • 30. 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, "rohit@mi.com"); preparedStatement.setString(3, "0919989998"); int row = preparedStatement.executeUpdate(); if (row > 0) { System.out.println("A row has been inserted successfully."); } 30Miss.P.S.Dungarwal
  • 31. 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(); } } } 31Miss.P.S.Dungarwal