java database connectivity jdbc2827
Post on 26-Feb-2018
245 Views
Preview:
TRANSCRIPT
-
7/25/2019 Java Database Connectivity Jdbc2827
1/21
Java Database Connectivity
JDBC
-
7/25/2019 Java Database Connectivity Jdbc2827
2/21
JDBC
Open Database Connectivity developed by
Microsoft to provide interaction withdatabases using SQL.
Use the D!C"OD!C bridge to #a$e
OD!C wor$ with ava.
ODBC
% ava %&' for e(ecuting SQL state#ents.
)(tends the ava language.
Supported by the *ava.s+l pac$age
-
7/25/2019 Java Database Connectivity Jdbc2827
3/21
Java Program
java.sql package
JDBC-ODBC Bridge
ODBC Database Client
MS-Access ODBC
Client
Oracle ODBC
Client
Oracle Database
ClientMiddleare
Client
Middleare Server
Oracle Database
Client
DB! Database
Client
MS-Access Server Oracle Server DB! Server
-
7/25/2019 Java Database Connectivity Jdbc2827
4/21
JDBC Components
Driver Manager" loads the database drivers, and #anages the
connection between the application and the driver.
Driver" translates %&' calls into operations for a specific data
source.Connection" % session between an application and a database.
Statement" %n SQL state#ent to perfor#.
PreparedStatement" a preco#piled and stored +uery.
"es#ltSet " logical set of data returned by e(ecuting a state#ent.
MetaData " 'nfor#ation about the returned data -resultset
including the attribute na#es and types.
-
7/25/2019 Java Database Connectivity Jdbc2827
5/21
Steps In Using JDBC
$mport t%e necessar& classes
import java.sql.*;
'oad t%e JDBC driver
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver;
$denti(& t%e data so#rce
!trin" source#$% & jdbc'odbc'testdb;
Allocate a Connection object
Connection dbConnect &
Driverana"er."etConnection(source#$%)usr)pd;
Allocate a Statement object
!tatement stmt & dbConnect.create!tatement( ;
-
7/25/2019 Java Database Connectivity Jdbc2827
6/21
Steps In Using JDBC
)*ec#te a q#er& #sing t%e Statement object$esult!et rst & stmt.e+ecute,uer-(!elect * from
mp/bl 0ere salar- 123333;
"etrieve data (rom t%e "es#ltSet object
if ( rst 4& null 5
rst.ne+t(;
!trin" 6name & rst."et!trin"(name;
double 6salar-& rst."etDouble(salar-; 7
Close t%e "es#ltSet
rst.close( ;
Close t%e Statement object
stmt.close( ;
Close t%e Connection object
dbConnect.close( ;
-
7/25/2019 Java Database Connectivity Jdbc2827
7/21
import java.sql.*;
public class PlainJDBC {
public static void main(String args[ ! {
i" (args.l#ngt$ %& '! {
Sst#m.out.println()sag#+ java JDBC custid)!; Sst#m.#,it('!;
-
int custD & nt#g#r.pars#nt(args[/!; String qu#r & n#0 String ()S#l#ct 1itl#2 3#ar2 1p# "rom 4rd#rs 42 1itl#s 12 1ap#s 5 ) 6
)0$#r# 5.1ap#d&4.1ap#d and 1.1itl#d&5.1itl#d and ) 6
)Status & 747 and ) 6 )4.Custom#rD& ) 6 custD!;
tr {
88 s#t t$# driv#r
Class."or9am#()sun.jdbc.odbc.Jdbc4dbcDriv#r)!;
88ma:# conn#ction
Conn#ction dbConn#ct & Driv#ranag#r.g#tConn#ction()jdbc+odbc+jdbc
-
7/25/2019 Java Database Connectivity Jdbc2827
8/21
pac8a"e m-servlets;
import java.io.*;import java.sql.*;
import java.util.*;
import java+.servlet.*;
import java+.servlet.0ttp.*;
public class mpData9 e+tends :ttp!ervlet 5
public void doet(
:ttp!ervlet$equest request)
:ttp!ervlet$esponse response
t0ros !ervlet+ception)
-
7/25/2019 Java Database Connectivity Jdbc2827
9/21
tr- 5 Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;
Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
!tatement stmt & m-Conn.create!tatement(;
$esult!et m-$esult!et & stmt.e+ecute,uer-(=select * from emplo-ee=;
if (m-$esult!et 4& null 5 0ile (m-$esult!et.ne+t( 5
eid & m-$esult!et."et!trin"(=empid=;
last & m-$esult!et."et!trin"(=lastname=;
first & m-$esult!et."et!trin"(=firstname=;
e+t & m-$esult!et."et!trin"(=e+tension=; out.println(= @tr1An@td1= F eid F =@>td1@td1= F
last F =@>td1@td1= F first F =@>td1@td1= F
=@>td1@>tr1=;
7 >* of 0ile *>
7 >* of if *>
stmt.close(;
m-Conn.close(;
out.println(=@>table1An @>bod-1An@>0tml1=;
7
catc0 (+ception e 5out.println(=Could not connect4An=;
7
7>> end of doet
public void do6ost(:ttp!ervlet$equest request) :ttp!ervlet$esponse response
t0ros !ervlet+ception) > end of do6ost
7>> end of class mpData
-
7/25/2019 Java Database Connectivity Jdbc2827
10/21
/ht#l0
/head0
/title01)S1 2)! &%3)/4title0
/#eta http"e+uiv56Content"1ype6 content56te(t4ht#l60/4head0
/body bgcolor56788888860
/center0/h901esting Servlets/4h90/4center0
/p0/4p0/h:01est Modules;/4h:0
/a href56servlet4#yservlets.)#pData60)#ployee Database Listing
/4a0/br0
/4body0
/4ht#l0
HTML File Using mpData Servlet
-
7/25/2019 Java Database Connectivity Jdbc2827
11/21
A JS!"S#o$mp%&sp' Using JDBC@0tml1 @0ead1@title1mplo-ee Database@>title1@>0ead1
@HI pa"e lan"ua"e&=java= import&=java.sql.*= H1
@bod-1
@091mplo-ee %istin"@>091@table border&=9= idt0&=E33=1
@tr1 @td1@b1b1@>td1@td1@b1%ast Name@>b1@>td1
@td1@b1Girst Name@>b1@>td1@td1@b1+tension@>b1@>td1 @>tr1
@H Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;
Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
!tatement stmt & m-Conn.create!tatement(;
$esult!et m-$esult!et & stmt.e+ecute,uer-(=select * from emplo-ee=;
if (m-$esult!et 4& null 5
0ile (m-$esult!et.ne+t( 5 !trin" eid & m-$esult!et."et!trin"(=empid=;
!trin" last & m-$esult!et."et!trin"(=lastname=;
!trin" first & m-$esult!et."et!trin"(=firstname=;
!trin" e+t & m-$esult!et."et!trin"(=e+tension=;
H1@tr1
@td1@H& eid H1@>td1 @td1@H& last H1@>td1
@td1@H& first H1 @>td1 @td1@H& e+t H1 @>td1
@>tr1
@H 7 >* of 0ile *>
7 >* of if *>
stmt.close(; m-Conn.close(;
H1
@>table1@>bod-1@>0tml1
-
7/25/2019 Java Database Connectivity Jdbc2827
12/21
/ht#l0
/head0
/title01)S1 2)! &%3)/4title0
/#eta http"e+uiv56Content"1ype6 content56te(t4ht#l60/4head0
/body bgcolor56788888860
/center0/h901esting ava Server &ages/4h90/4center0
/p0/4p0/h:01est Modules;/4h:0
/a href5
-
7/25/2019 Java Database Connectivity Jdbc2827
13/21
JDBC Reference"es#ltSet
@ Provid#s acc#ss to r#cords r#sulting "rom a qu#r.
METHODS:
public void after%ast ( t0ros !,%+ception
@ mov#s t$# cursor to t$# #nd o" t$# r#sult s#t.
public void beforeGirst ( t0ros !,%+ception@ mov#s t$# cursor to t$# b#ginning o" t$# r#sults#t.
public void cancel$o#pdates ( t0ros !,%+ception@ canc#ls an updat#s mad# to t$is ro0.
public void close( t0ros !,%+ception@ clos#s t$# r#sults#t.
public void delete$o ( t0ros !,%+ception
@ d#l#t#s t$# curr#nt ro0 "rom t$# r#sults#t and t$# databas#.
public void first ( t0ros !,%+ception
@ mov#s t$# cursor to t$# "irst ro0 o" t$# r#sults#t.
public void last ( t0ros !,%+ception
@ mov#s t$# cursor to t$# last ro0 o" t$# r#sults#t.
-
7/25/2019 Java Database Connectivity Jdbc2827
14/21
JDBC Reference"es#ltSet
METHODS:
public boolean "etoolean (!trin" cname t0ros !,%+ception
@ r#turns t$# valu# o" t$# nam#d column(cnam#! in Bool#an "ormat.
public Date "etDate (!trin" cname t0ros !,%+ception
@ r#turns t$# valu# o" t$# nam#d column(cnam#! in Dat# "ormat.
public double "etDouble (!trin" cname t0ros !,%+ception
@ r#turns t$# valu# o" t$# nam#d column(cnam#! in Doubl# "ormat.
public float "etGloat (!trin" cname t0ros !,%+ception
@ r#turns t$# valu# o" t$# nam#d column(cnam#! in Aloat "ormat.
public int "et
-
7/25/2019 Java Database Connectivity Jdbc2827
15/21
JDBC Reference"es#ltSet
METHODS:
public void insert$o ( t0ros !,%+ception
@ ins#rts t$# cont#nts o" t$# ins#rt ro0 into t$# r#sult s#t and databas#.
$esult!et rst & stmt.e+ecute,uer-(!%C/ * G$O 6%O;
rst.move/o
-
7/25/2019 Java Database Connectivity Jdbc2827
16/21
JDBC Reference"es#ltSet
METHODS:
public void ne+t ( t0ros !,%+ception
public void previous ( t0ros !,%+ception
@ us# to navigat# on# ro0 "or0ard or bac:0ard in t$# r#sults#t.
public boolean relative (int ros t0ros !,%+ception
@ mov#s a sp#ci"i#d numb#r o" ro0s "rom t$# curr#nt r#cord. 5alu# "or ro0s can b# 6 or @.
public void updateoolean(!trin" cname) boolean b t0ros !,%+ception
public void update-te(!trin" cname) b-te b t0ros !,%+ception
public void updateDate(!trin" cname) Date b t0ros !,%+ception
public void updateDouble(!trin" cname) double b t0ros !,%+ception
public void updateGloat(!trin" cname) float b t0ros !,%+ception
public void update
-
7/25/2019 Java Database Connectivity Jdbc2827
17/21
JDBC Reference
"es#ltSetMetaData
@ Provid#s m#ta@in"ormation about t$# tp#s and prop#rti#s o" t$# columns in a r#sults#t.
$esult!et rst & stmt.e+ecute,uer-(!%C/ * G$O 6%O;
$esult!etetaData meta & rst."etetaData( ;
int cols & meta."etColumnCount(;
!trin" struffer&;
for (int 8&9; 8@&cols; 8FFstruffer F& meta."etColumnName(8;
METHODS:
public int "etColumnCount ( t0ros !,%+ception@ r#turns t$# numb#r o" columns in t$# r#sult s#t.
public !trin" "etColumnName (int inde+ t0ros !,%+ception@ r#turns t$# nam# o" t$# column in t$at column ind#,.
public !trin" "etColumn/-peName (int inde+ t0ros !,%+ception
@ r#turns t$# nam# o" t$# S> tp# o" t$# sp#ci"i#d column.
public !trin" "et/ableName (int inde+ t0ros !,%+ception
@ r#turns t$# nam# o" t$# tabl# "or t$# sp#ci"i#d column.
public boolean is$eadOnl- (int inde+ t0ros !,%+ception
public boolean is?ritable (int inde+ t0ros !,%+ception
@ r#turns tru# i" column is r#ad onl80ritabl#.
-
7/25/2019 Java Database Connectivity Jdbc2827
18/21
JDBC Reference
Statement
@ =#pr#s#nts an #mb#dd#d S> stat#m#nt and is us#d b an application to p#r"orm databas# acc#ss.
Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;
Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
!tatement stmt & m-Conn.create!tatement(;
$esult!et m-$esult!et & stmt.e+ecute,uer-(=select * from emplo-ee=;
METHODS:
public boolean e+ecute(!trin" sql t0ros !,%+ception
public $esult!et e+ecute,uer-(!trin" sql t0ros !,%+ception
public int e+ecute#pdate(!trin" sql t0ros !,%+ception
@ 1$# execute( )m#t$od r#turns tru# i" t$# stat#m#nt $as r#sults#ts to proc#ss. 1$#
executeQuery( )m#t$od is us#d to #,#cut# a qu#r sp#ci"i#d in t$# string sql. 1$#
executeUpdate( )m#t$od is us#d to p#r"orm updat#s; it r#turns t$# numb#r o"
ro0s a""#ct#d b t$# updat#.
!tatement stmt & m-Conn.create!tatement(; int r & stmt.e+ecute#pdate(
-
7/25/2019 Java Database Connectivity Jdbc2827
19/21
JDBC Reference
?,ampl#+ Cr#ating a scrollabl# =#sultS#t
Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;
Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
!tatement stmt &
m-Conn.create!tatement($esult!et./6Q!C$O%%Q
-
7/25/2019 Java Database Connectivity Jdbc2827
20/21
JDBC Reference
Pr#par#d Stat#m#nts
@ ?,t#nds t$# Stat#m#nt int#r"ac# and #nabl#s a S> stat#m#nt to contain param#t#rs li:#
a "unction d#"inition. 3ou t$#n can #,#cut# a singl# stat#m#nt r#p#at#dl 0it$ di""#r#nt valu#s "or t$os#
param#t#rs.
?,ampl#+
Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;
Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
6repared!tatement stmt &
m-Conn.prepare!tatement(#6DB/ emplo-ee F
!/ salar- & salar- * R ?:$ emp
-
7/25/2019 Java Database Connectivity Jdbc2827
21/21
JDBC Reference
Batc$ Proc#ssing 0it$ Pr#par#d Stat#m#nts
@ Similar proc#ssing actions ar# #,#cut#d as a singl# group in batc$ proc#ssing.
?,ampl#+
Class.forName(=sun.jdbc.odbc.JdbcOdbcDriver=;Connection m-Conn & Driverana"er."etConnection(=jdbc'odbc'empdir=;
6repared!tatement stmt &
m-Conn.prepare!tatement(#6DB/ emplo-ee F
!/ salar- & salar- * R ?:$ emp
top related