Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 17

JDBC

Java API for Database


Connectivity
What is an API?
• application program interface
• a set of routines, protocols, and tools for
building software applications
• provides all the building blocks
What you expect in DB API

Java Application

Java DB API
1. Open a Connection
2. Send a statement
DBMS Engine
3. Retrieve results
4. Close a connection 1. Create a connection
Session
2. Execute statement
3. Send results
4. Close the session
Big picture

Java Application
JDBC API

JDBC Manager
JDBC Driver API

JDBC Drivers
Grey Area

Data Sources
JDBC driver type-1
• Uses the existing API
• Not the fastest
JDBC-ODBC Bridge Java
ODBC Driver

Native Driver Non Java

Net Driver
JDBC driver type-2
• Uses vendor-provided local libraries
• Most efficient

JDBC Driver Java

Native Driver
Non Java

Net Driver
JDBC driver type-3 & 4
• 100% java.

JDBC – Net Driver Java

JDBC Driver
Implements a proprietary Java
Protocol in java
Complete JDBC Architecture

Java Application
JDBC Interface
JDBC Driver Manager
JDBC Driver
JDBC JDBC–ODBC JDBC Driver JDBC Driver Interface
Net Bridge B C D
Driver A

ODBC Driver Native Driver C

Native Driver B

A B C D
On Different Platforms
JDBC API JDBC
Driver
Classes
PC

MAC
DBMS

Unix
JDBC Interface classes
• Java.sql package
– DriverManager
– Connection
– Statement
– CallableStatement
– PreparedStatement
– Resultset
– ResultSetMetaData
– DatabaseMetatData
JDBC Interfaces

Driver Manager

Connection Connection Connection

Prepared
Statement
Statement

ResultSet
Simple Example
Import java.sql;
class SimpleExample {
public static void main(String args[]) {
String url = “jdbc:odbc:mysource”;
try {
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection myConnection =
DriverManager.getConnection(url,”Bond”,”TopSecret”);
myConnection.close();
}
catch(java.lang.Exception) {
ex.printStackTrace();
}
}
}
Sending SQL statements
……
String query= “Select name,id,salary FROM employees ORDER By salary”;
Connection myConnection = DriverManager.getConnection(…..);
Statement myStatement = myConnection.createStatement();
ResultSet rs = myStatement.executeQuery(query);
While(rs.next){
String empName = rs.getString(1);
String empId = rs.getString(2);
String empSalary = rs.getString(3);
System.out.println(“Employee ” + empName + “ with id ” + empId
+ “ earns ” + empSalary);
}
myStatement.close();
myConnection.close();
…….
Statement’s Execute Methods
• ResultSet executeQuery()
– For SQL selects
• int executeUpdate()
– For Update,Delete,Insert and Create etc.
• boolean execute()
– For either type
– Returns resultSetisAvailable
Statements
• Statement
• PreparedStatement
• CallableStatement
Additional stuff
• Datatypes: basic to CLOB, BLOB
• Transaction Management
• DDA with/without cursors
• Batch updates
• Metadata
– DatabaseMetaData
– ResultSetMetaData
– ParameterMetaData

Advanced Techniques

• Connection Pooling
• Dynamic SQL with Prepared Statements
• Auto-generated keys
References
• www.google.com
• http://java.sun.com/j2se/1.4/docs/api/
• JDBC 3.0: Java Database Connectivity.
– Bernard Van Haecke

You might also like