jdbc 1

30

Upload: tuan-ngo

Post on 10-May-2015

443 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Jdbc 1

JDBC

[email protected]

Page 2: Jdbc 1

How can I get information from database in my Java application?

Page 3: Jdbc 1

JDBC is the Java-based API, which provides a set of classes and interfaces written in Java to access and manipulate different kinds of databases

Page 4: Jdbc 1

No matter what database is used!

Page 5: Jdbc 1

JDBC takes care for you Developer

I don’t care eh eh eh …

Page 6: Jdbc 1

JDBC is not an acronym. It is often mistaken to be "Java Database Connectivity"

Page 7: Jdbc 1

Advantages

Continued usage of existing data Vendor independent Platform independent (Cross platform) Ease of use

Behind the scenes database

Page 8: Jdbc 1

Two-Tier Data Processing Model

Page 9: Jdbc 1

Three-Tier Data Processing Model

Page 10: Jdbc 1

JDBC API

Page 11: Jdbc 1

JDBC Drivers

. Converts the client request to a db understandable, native format and present it to db. . Converts the response to the Java format and presented to the client.

Page 12: Jdbc 1

JDBC Type 1 Driver (JDBC-ODBC Bridge)

Advantages : MS Access or Microsoft SQL Server Disadvantages: don’t support software installation on client native ODBC libraries must reside on the server => reduces the performance

Page 13: Jdbc 1

JDBC Type 2 Driver (Native-API partly Java Driver)

Advantages : Faster than Type 1 Disadvantages: don’t support software installation on client

Page 14: Jdbc 1

JDBC Type 3 Driver (JDBC Net pure Java Driver)

Converts JDBC calls into a DBMS-independent network protocol, which is translated to database-specific calls by a middle-tier server.

Advantages : The most flexible type, High adaptability, control underlying database without modifying the client side driver. Disadvantages: Database-specific code needs to be executed in the middle- tier server. Needs to implement security like firewalls.

Page 15: Jdbc 1

JDBC Type 4 Driver (Native-protocol pure Java Driver, Java to DB Protocol) Convert JDBC calls into the network protocol that communicates directly with the database. Advantages : Communicate directly with the db engine using Java Sockets. Fastest JDBC drivers available. No addition on clients. Disadvantages: database-specific

Page 16: Jdbc 1

Steps to develop a JDBC App

Page 17: Jdbc 1

Loading Driver Class.forName(<protocol>)

Class.forName(“com.microsoft.sqlserver.jdbc.SQLServerDriver”);

Establishing a connection Connection object DriverManager.getConnection() Connection cn = DriverManager.getConnection("jdbc:sqlserver://localhost;DatabaseName=Dev eloperApps;user=sa;Password=123456");

Page 18: Jdbc 1

Creating statement and queries Statement interface Statement

PreparedStatement CallableStatement

connection.createStatement() PreparedStatement pstmt = cn.prepareStatement(“Select * from ToppingDetails”);

Page 19: Jdbc 1

executeQuery() & ResultSet object connection.createStatement() PreparedStatement pstmt = cn.prepareStatement(“Select * from ToppingDetails”); ResultSet rs = pstmt.executeQuery();

executeUpdate() INSERT, DELETE, UPDATE, SQL DDL (Data Definition Language) return int value : row count

execute() Return more than one result set Return true if a result set object is generated

Page 20: Jdbc 1

Handling exeption ClassNotFoundException SQLException

Page 21: Jdbc 1

Processing queries Data in the ResultSet is in a tabular format. The initial cursor is positioned before the first row Traverse using next() method. next() return : true if the current cursor position is on a valid row false if the cursor is placed at a position after the last row

Page 22: Jdbc 1

Extract the data getString() getInt() getFloat() getObject()

Page 23: Jdbc 1

Closing the Database Connection close() method is provided by the Connection, Statement, ResultSet objects. rs.close(); pstmt.close(); cn.close();

Page 24: Jdbc 1

Relationship of Connection to other objects

Page 25: Jdbc 1

Interactions & relationships between the key JDBC classes and interfaces

Page 26: Jdbc 1

Database metadata Data about data. defines structure and properties of the data stored. Column name Datatypes for columns

Page 27: Jdbc 1

DatabaseMetaData interface getMetaData() Connection obj DatabaseMetaData dmd = cn.getMetaData()

Page 28: Jdbc 1

DatabaseMetaData method

Page 29: Jdbc 1

ResultSetMetaData interface metadata of ResultSet. ResultSetMetaData rmd = rs.getMetaData()

Page 30: Jdbc 1

ResultSetMetaData method getColumnName() getColumnCount() getColumnType() String colName = rmd.getColumnName(2); int totalCols = rmd.getColumnCount(); String colType = rmd.getColumnType(1);