Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to JDBC Michelle Lee, Ye Wu & Jeff Offutt SWE 432 Design and Implementation of Software for the Web.

Similar presentations


Presentation on theme: "Introduction to JDBC Michelle Lee, Ye Wu & Jeff Offutt SWE 432 Design and Implementation of Software for the Web."— Presentation transcript:

1 Introduction to JDBC Michelle Lee, Ye Wu & Jeff Offutt http://www.cs.gmu.edu/~offutt/ SWE 432 Design and Implementation of Software for the Web

2 10/18/2015© Wu, Lee & Offutt2 JDBC JDBC (Java Database Connectivity) API allows Java programs to connect to databases Database access is the same for all database vendors The JVM uses a JDBC driver to translate generalized JDBC calls into vendor specific database calls There are four general types of JDBC drivers –We will look at Type 4 …

3 10/18/2015© Wu, Lee & Offutt3 Pure Java Driver (Type 4) These drivers convert the JDBC API calls to direct network calls using vendor-specific networking protocols by making direct socket connections with the database It is the most efficient method to access database, both in performance and development time It is the simplest to deploy All major database vendors provide pure Java JDBC drivers for their databases and they are also available from third party vendors For a list of JDBC drivers, refer to –http://industry.java.sun.com/products/jdbc/drivers

4 10/18/2015© Wu, Lee & Offutt4 Java Application DB Client Pure Java Driver (2) JDBC API JDBC Driver Data Source Server

5 10/18/2015© Wu, Lee & Offutt5 Typical JDBC Programming Procedure 1.Load the database driver 2.Obtain a connection 3.Create and execute statements (SQL queries) 4.Use result sets (tables) to navigate through the results 5.Close the connection

6 10/18/2015© Wu, Lee & Offutt6 Driver Manager The purpose of the java.sql.DriverManger class in JDBC is to provide a common access layer on top of different database drivers used in an application DriverManager requires that each driver required by the application must be registered before use, so that the DriverManager is aware of it Load the database driver using ClassLoader : –Class.forName (“oracle.jdbc.driver.OracleDriver”);

7 10/18/2015© Wu, Lee & Offutt7 Connecting to a Database Type 4 JDBC Driver – Oracle Server Class.forName (“oracle.jdbc.driver.OracleDriver”); con = DriverManager.getConnection ( “jdbc:oracle:thin:@bonsai.ite.gmu.edu:1521:ite”, “accountname", “password”); Type 4 JDBC Driver – MySQL Server Class.forName (“org.gjt.mm.mysql.Driver”); con = DriverManager.getConnection (“jdbc:mysql://localhost/databasename”, uid, passwd);

8 10/18/2015© Wu, Lee & Offutt8 Creating Tables Creating a Coffee table CREATE TABLE COFFEES (COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, SALES INTEGER, TOTAL INTEGER) Creating JDBC statements Statement stmt = con.createStatement (); Execute a statement stmt.executeUpdate (“CREATE TABLE COFFEES “ + “(COF_NAME VARCHAR(32), SUP_ID INTEGER, PRICE FLOAT, “ + “SALES INTEGER, TOTAL INTEGER)”); SQL query

9 10/18/2015© Wu, Lee & Offutt9 Execute Statements This uses executeUpdate because the SQL statement contained in createTableCoffees is a DDL (data definition language) statement Statements that create a table, alter a table, or drop a table are all examples of DDL statements and are executed with the method executeUpdate executeUpdate is also used to execute SQL statements that update a table

10 10/18/2015© Wu, Lee & Offutt10 Execute Statements In practice, executeUpdate is used far more often to update tables than it is to create them because a table is created once but may be updated many times The method used most often for executing SQL statements is executeQuery executeQuery is used to execute SELECT statements, which comprise the vast majority of SQL statements

11 10/18/2015© Wu, Lee & Offutt11 Entering Data into a Table Statement stmt = con.createStatement(); stmt.executeUpdate ( "INSERT INTO COFFEES " + "VALUES ('Colombian', 101, 7.99, 0, 0)" ); stmt.executeUpdate ( "INSERT INTO COFFEES " + "VALUES ('French_Roast', 49, 8.99, 0, 0)" ); stmt.executeUpdate ( "INSERT INTO COFFEES " + "VALUES ('Espresso', 150, 9.99, 0, 0)" ); stmt.executeUpdate ( "INSERT INTO COFFEES " + "VALUES ('Colombian_Decaf', 101, 8.99, 0, 0)" ); stmt.executeUpdate ( "INSERT INTO COFFEES " + "VALUES ('French_Roast_Decaf', 49, 9.99, 0, 0)" );

12 10/18/2015© Wu, Lee & Offutt12 Getting Data From a Table ResultSet rs = stmt.executeQuery ("SELECT COF_NAME, PRICE FROM COFFEES"); while (rs.next()) { String s = rs.getString ("COF_NAME"); float n = rs.getFloat ("PRICE"); System.out.println (s + " " + n); }

13 10/18/2015© Wu, Lee & Offutt13 JNDI Connection Manager JDBC Data Source Architecture Application JDBC Database

14 10/18/2015© Wu, Lee & Offutt14 Sample code Sun JDBC tutorial


Download ppt "Introduction to JDBC Michelle Lee, Ye Wu & Jeff Offutt SWE 432 Design and Implementation of Software for the Web."

Similar presentations


Ads by Google