Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Jdbc ppt


Published on

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

Jdbc ppt

  1. 1. By Rajan Shrivastava Wipro 1
  2. 2. •API for Java which defines how program canaccess a DB.•JDBC(TM) - developed by Sun Microsystems• Exploited an existing interface library (ODBC)• ODBC - Open Database Connectivity (C library)—standard Application Programming Interface forconnecting to db; independent of programminglanguages, db systems, OS• ODBC - C programmers DB interface, early 1990s
  3. 3. JDBC Drivers Client-side adaptors that convert Java program requests into a protocol that DBMS understands 4 types: 1. Type 1—JDBC-ODBC bridge 2. Type 2—Native API driver (converts JDBC calls to DBMS API) 3. Type 3—Network protocol driver—can connect JDBC to middleware-net server 4. Type 4—Driver-native protocol driver (converts JDBC calls directly to DBMS protocol)
  4. 4. Loading a DriverManager DriverManager 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 driver Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); // now connect to DB ... } catch (ClassNotFoundException e) { System.err.println(e.getMessage()); e.printStackTrace(); System.exit(1); } }
  5. 5. Making a JDBC-ODBC Database 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...
  6. 6. Statement and ResultSet Objects Statement stmt = con.createStatement(); String sql = "SELECT * FROM Staff;"; ResultSet rs = stmt.executeQuery(sql); print_rs(rs); // shown later rs.close(); // free memory stmt.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)...
  7. 7. ResultSets and Cursors The ResultSet object is a ‘container’ for the results of a query (table):  Each ResultSet contains:  Numbered Fields (columns)  Field names & types (metadata)  A Cursor (current row) •First cursor position is BEFORE FIRST ROW • Rows and columns COUNT FROM ONE •Move cursor via:, previous(), first(), last(), relative(), absolute(), beforeFirst(), afterLast()
  8. 8. Type I Drivers Use bridging technology Requires installation/configuration on client machines Not good for Web e.g. ODBC Bridge Copyright © 1997 Alex Chaffee
  9. 9. Type II Drivers Native API drivers Requires installation/configuration on client machines Used to leverage existing CLI libraries Usually not thread-safe Mostly obsolete now e.g. Intersolv Oracle Driver, WebLogic drivers Copyright © 1997 Alex Chaffee
  10. 10. Type III Drivers Calls middleware server, usually on database host Very flexible -- allows access to multiple databases using one driver Only need to download one driver But it’s another server application to install and maintain e.g. Symantec DBAnywhere
  11. 11. Type IV Drivers 100% Pure Java -- the Holy Grail Use Java networking libraries to talk directly to database engines Only disadvantage: need to download a new driver for each database engine e.g. Oracle, mSQL