Adv Java Chp4 GSCH

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 12

JDBC –

Java DataBase Connectivity


Introduction
 Database
 Collection of data
 DBMS
 Database management system
 Storing and organizing data
 SQL
 Relational database
 Structured Query Language
 JDBC
 Java Database Connectivity
 JDBC driver
JDBC
 Programs developed with Java/JDBC are
platform and vendor independent.
 “write once, compile once, run anywhere”
 Write apps in java to access any DB, using

standard SQL statements – while still


following Java conventions.
 JDBC driver manager and JDBC drivers

provide the bridge between the database and


java worlds.
General Architecture
 What design pattern is
implied in this
architecture?
 What does it buy for us?
 Why is this architecture
also multi-tiered?

4
ODBC
 JDBC heavily influenced by ODBC
 ODBC provides a C interface for database

access on Windows environment.


 ODBC has a few commands with lots of

complex options. Java prefers simple


methods but lots of them.
Type 1 3rd Party API

Database
Type 3 Type 2 Native C/C++ API

Local API
Network API
Type 4
• Type 1: Uses a bridging technology to access a database. JDBC-
ODBC bridge is an example. It provides a gateway to the ODBC.
• Type 2: Native API drivers. Driver contains Java code that calls
native C/C++ methods provided by the database vendors.
• Type 3: Generic network API that is then translated into database-
specific access at the server level. The JDBC driver on the client uses
sockets to call a middleware application on the server that translates
the client requests into an API specific to the desired driver. Extremely
flexible.
• Type 4: Using network protocols built into the database engine talk
directly to the database using Java sockets. Almost always comes
only from database vendors.
Basic steps to use
a database in Java
 1.Establisha connection
 2.Create JDBC Statements
 3.Execute SQL Statements
 4.GET ResultSet
 5.Close connections

7
1. Establish a connection
 import java.sql.*;
 Load the vendor specific driver
 Class.forName("oracle.jdbc.driver.OracleDriver");
 Whatdo you think this statement does, and how?
 Dynamically loads a driver class, for Oracle database

 Make the connection


 Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@oracle-prod:1521:OPROD",
username, passwd);
 What do you think this statement does?
 Establishes connection to database by obtaining
a Connection object
8
2. Create JDBC statement(s)
 Statement stmt =
con.createStatement() ;
 Creates a Statement object for sending SQL statements
to the database

9
Executing SQL Statements
 String createLehigh = "Create table Lehigh
"+
"(SSN Integer not null, Name
VARCHAR(32), " + "Marks Integer)";
stmt.executeUpdate(createLehigh);
//What does this statement do?

 String insertLehigh = "Insert into Lehigh


values“ + "(123456789,abc,100)";
stmt.executeUpdate(insertLehigh);
10
Get ResultSet
String queryLehigh = "select * from Lehigh";

ResultSet rs =
Stmt.executeQuery(queryLehigh);
//What does this statement do?

while (rs.next()) {
int ssn = rs.getInt("SSN");
String name = rs.getString("NAME");
int marks = rs.getInt("MARKS"); 11
Close connection
 stmt.close();
 con.close();

12

You might also like