Jdbc ppt
-
Upload
rajan981 -
Category
Technology
-
view
2.537 -
download
0
Transcript of Jdbc ppt
By Rajan ShrivastavaWipro 1
•API for Java which defines how program can access a DB.•JDBC(TM) - developed by Sun Microsystems• Exploited an existing interface library (ODBC)• ODBC - Open Database Connectivity (C library)—standard Application Programming Interface for connecting to db; independent of programming languages, db systems, OS• ODBC - C programmers DB interface, early 1990's
JDBC Drivers Client-side adaptors that convert Java
program requests into a protocol that DBMS understands
4 types:1. Type 1—JDBC-ODBC bridge2. Type 2—Native API driver (converts JDBC
calls to DBMS API)3. Type 3—Network protocol driver—can
connect JDBC to middleware-net server4. Type 4—Driver-native protocol driver
(converts JDBC calls directly to DBMS protocol)
Loading a DriverManagerDriverManager provides DB interface methods & defines
objects which can connect Java app to driver; it manages set of drivers program can use to connect to db; finds driver & runs it to connect to db
Most Java programs use import to load a class With JDBC, usually load driver class at runtime:
import java.lang.*;public static void main (String args[]) {try { // this loads & initialises the driverClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");// now connect to DB ...
} catch (ClassNotFoundException e) {System.err.println(e.getMessage());e.printStackTrace();System.exit(1);
} }
Making a JDBC-ODBCDatabase Connection
import java.sql.*;Connection con;String URL = "jdbc:odbc:DataSource";String Username = "";String Password = "";con = DriverManager.getConnection(URL,Username, Password);// make more calls to JDBC methods here...con.close();
‘DataSource’ is a ‘logical name’ (not a real filename) Need to set DataSource = MyDatabase.mdb
elsewhere Use ODBC Data Source Administrator for this...
Statement and ResultSet ObjectsStatement stmt = con.createStatement();String sql = "SELECT * FROM Staff;";ResultSet rs = stmt.executeQuery(sql);print_rs(rs); // shown laterrs.close(); // free memorystmt.close();
Statement objects let you execute SQL queries: 3 types: Statement (simple, no parameters), Prepared Statement (precompiled queries), Callable Statement (execute call to db stored sql procedure)
Can pass any legal SQL query to executeQuery()Here, rs holds the entire results table (Staff)...
ResultSets and Cursors
Each ResultSet contains: Numbered Fields
(columns) Field names & types
(metadata) A Cursor (current row)
The ResultSet object is a ‘container’ for the results of a query (table):
•First cursor position is BEFORE FIRST ROW• Rows and columns COUNT FROM ONE•Move cursor via: rs.next(), previous(), first(), last(), relative(), absolute(), beforeFirst(), afterLast()
Copyright © 1997 Alex Chaffee
Type I DriversUse bridging technologyRequires installation/configuration on client
machinesNot good for Webe.g. ODBC Bridge
Copyright © 1997 Alex Chaffee
Type II DriversNative API driversRequires installation/configuration on client
machinesUsed to leverage existing CLI librariesUsually not thread-safeMostly obsolete nowe.g. Intersolv Oracle Driver, WebLogic
drivers
Type III DriversCalls middleware server, usually on
database hostVery flexible -- allows access to multiple
databases using one driverOnly need to download one driverBut it’s another server application to
install and maintaine.g. Symantec DBAnywhere
Type IV Drivers100% Pure Java -- the Holy GrailUse Java networking libraries to talk
directly to database enginesOnly disadvantage: need to download a
new driver for each database enginee.g. Oracle, mSQL