Download doc - 01_JLC

Transcript

JDBCjava database connectivityJ2EE 1.4:--------- JDBC Servlet JSP RMI Java Beans Java mail JNDI EJB JMS JTA JAASDatabase interaction in c/c++ prog:------ Use DB lirar! Database interaction in java prog: ------Mysql connection Oracle connection "#en !$% &evel$'in( an a''li)ati$n in )*)++ intera)t ,it# t#e &ataase !$% nee& t$ %se &ataase ven&$r -$r lirar! in t#e 'r$(ram&ire)tl!. In -eat%re i- !$% ,ant t$ mi(rate &ataase t#en !$% )#an(e l$ts $- )$&es. e)a%se $- %sin( r%ntime s'e)i-i) lirar! in t#e 'r$(ram &ire)tl!. !$%r'r$(ram an& &ataase ,ill e)$me ti(#tl! )$%'le.T#is in)rease t#e &ire)t &e'en&en)! et,een 'r$(ram an& &ataasean& &e)rease a''li)ati$n -le/iilit! t#ena%t$mati)all! maintenan)e,ill e in)rease& .T$ av$i& t#is 'r$lem s%n #as 'r$vi&e& '$rtale API )alle& JDBC API ,#i)# all$,s !$% t$ intera)t ,it# an! &ataase,it# less maintenan)e.In JDBC API. SUN #as 'r$vi&e& m$re inter-a)es ,#$se im'lementati$n is &$ne ! &ataase ven&$r an& s%''l! al$n( &ataase instit%ti$n."#en 0ava &evel$'er is ,ritin( a 'r$(ram t$ intera)t ,it# t#e &ataase sim'l! t#e! #ave t$ %se API 'r$vi&e& in JDBC ! i(n$rin( t#e im'lementati$n &etails &$ne ! &ataase ven&$r .t#is JDBC API ma1es !$%r 'r$(ram '$rtale an& -le/iilit! -$r an! &ataase intera)ti$n.In JDBC 'r$(ram !$% are n$t ($in( t$ %se ven&$r s'e)i-i) lirar! &ire)tl!. T#ese are m$ve& t$ mi&&le )$m'$nent)alle& &river. "#i)# sits et,een !$%r 'r$(ram an& &ataase an& all$,s !$% t$ intera)t ,it# t#e &ataase.Ever! &river is a 0ava )lass ,#i)# is im'lemente& an& 'r$vi&e& ! &ataase ven&$r."#en !$% intera)t ,it# an! &ataase 1st !$% nee& t$ sele)t t#e &river 'r$vi&e& ! t#e ven&$r. T#en &river 'la)e&remainin( $'erati$ns.C*C++'r$(.MysqlDBI 2irar!DBlirar!Java prog.MysqlOracle DB lirar!DB lirar!Driver1Driver2JDBC I3DBC &river 'r$vi&e& ! Mi)r$s$-t e-$re t$ JDBC te)#n$l$(! Mi)r$s$-t #as intr$&%)e 3DBC &rivers intera)t ,it# t#e &ataase. I- !$% ,ant t$ intera)t 3DBC &river -$r &ataase intera)ti$n 1st !$% nee& t$ )$n-i(%re data source name (DN!. teps to con"igure DN: ------- Cli)1 $n start ------- settin( )$ntr$l 'anel --------'er-$rman)e an& maintenan)e-------- A&ministrative T$$ls-------Data S$%r)es 43DBC5 Cli)1 $n a&& %tt$n Sele)t Mi)r$s$-t 3DBC -$r $ra)le Driver an& )li)1 $n -inis# %tt$n. Pr$vi&e &ata s$%r)e name as J2CDSN 6 %sername as ra0iv * sri an& )li)1 $n $1. "it# t#e 3DBC &river t#ere is n$ maintenan)e -$r !$%r a''li)ati$n ,#en !$% mi(rate t#e &ataase.B%t i( 'r$lem ,it# t#e 3DBC &river is 3S &e'en&ent. 3DBC &river ,ill )$me -reel! al$n( ,it# ,in&$, 3S ,ill n$t availale ,it# an$t#er 3S. 3DBC &river is im'lementin( in C lan(%a(e. teps to #rite t$e JDBC driver program% &&&&&&&&&&&&& 2$a& t#e &river )lass. Estalis# t#e )$nne)ti$n. Create t#e statement Pre'are t#e 7%er! an& e/e)%te it .7%er! s%mit t$ t#e &ataase en(ine Pr$)ess$r res%lt Cl$se t#e statements an& )$nne)ti$n.'ypes o" JDBC drivers% &&&&&&&&&&&&&&T#ere are -$%r t!'es $- JDBC &rivers: --------- T!'e I : JDBC-3DBC ri&(e Driver T!'e II : 'artial native-'artial 0ava Driver T!'e III : net 'r$t$)$l Driver T!'e I8 : '%re 0ava Driver'ype I driver% -----------Name:JDBC:3DBC ri&(e DriverDriver )lass: s%n.0&).$&).J&)3&)DriverUR2:0&):$&):DataS$%r)eName4DSN5User name: & %serPass,$r&: & 'ass,$r&S$-t,are:02s&1 1.4.2 an& & server.Pat#:9'at#9:e:;02s&1 1.4.2;in:Class'at#: 9)lass'at#9:e:;02s&11.4.2;li:8en&$r: s%n() *+ampleusing 'ype I driver () )reate tale 1 DBUtilDS.0ava 1.=A%t#$r : B1M at)#>*im'$rt 0ava.s7l.>:im'$rt 0ava/.s7l.>:im'$rt 0ava/.namin(.>:im'$rt 0ava.%til.>:'%li) )lass DBUtilDS?stati) C$nte/t )t/Cn%ll:stati)?tr!?Pr$'erties 'Cne, Pr$'erties45:

'.'%t4C$nte/t.INITIA2KC3NTEXTKNACT3RW.B,el$(i).0n&i."2InitialC$nte/tNa)t$r!B5:

'.'%t4C$nte/t.PR38IDERKUR2.BtM:**l$)al#$st:R==1B5:)t/Cne, InitialC$nte/t4'5:F)at)#4E/)e'ti$n e5?S!stem.$%t.'rintln4e5:FF*> '%li) stati) C$nne)ti$n (etM!S7lC$nne)ti$n45 t#r$,s E/)e'ti$n ?30e)t $C)t/.l$$1%'4B0&)*M!S7lP$$lB5:DataS$%r)e &sC4DataS$%r)e5$: C$nne)ti$n )$nC&s.(etC$nne)ti$n45:ret%rn )$n: F>*'%li) stati) C$nne)ti$n (et3ra)leC$nne)ti$n45 t#r$,s E/)e'ti$n ?30e)t $C)t/.l$$1%'4B0&)*3ra)leP$$lB5:DataS$%r)e &sC4DataS$%r)e5$: C$nne)ti$n )$nC&s.(etC$nne)ti$n45:ret%rn )$n: F'%li) stati) v$i& )lean%'4C$nne)ti$n )$n.Statement st5 ?tr!?i-4st[Cn%ll5 st.)l$se45:i-4)$n[Cn%ll5 )$n.)l$se45:F)at)#4E/)e'ti$n e5? S!stem.$%t.'rintln4e5:I I I'a)1a(e )$m.0avasree.0&):im'$rt 0ava.s7l.>:im'$rt )$m.0avasree.%til.>:'%li) )lass J&)E/12?int /@AC's.e/e)%teBat)#45:-$r4int iC=:i\/.len(t#:i++5?S!stem.$%t.'rintln4/@iA5:FRes%ltSet rsC's.e/e)%teL%er!4Bsele)t > -r$m st%&ent1B5:'.'%t4-a)t$r! )lass.UR25'.'%t4PR38IDE UR2.Q+M:**l$)al#$st:R==1Q5:C$nte/t )t/ ne,InitialC$nte/t4P5: ** P------------'r$'erties &sC4DataS$%r)e5)t/.l$$1%'4P0&);M!S7lP$$lQ5:)$nC&s.(et)$nne)ti$n45:--------------------------C$n.)l$se45:Java/.namin( 'a)1a(e P%li) inter-a)e C$nte/t?Stati) -inal Strin( INITIA2KC3NTEXTKNACT3RW:Stati) -inal Strin( PR38IDERKUR2:30e)t l$$1%'4Strin(58$i& in&4Strin(.30e)t58$i&rein&4Strin(.30e)t58$i&%nin&4Strin(5namin(En%merati$n list4Strin(5FDataource-ooOupJDBC H:IInter"aceconte+t '%li) stati) v$i& main4Strin( as@A5?C$nne)ti$n )$nCn%ll:Statement 'sCn%ll:tr!?)$nCDBUtil.(etM!S7lC$nne)ti$n45:'sC)$n.)reateStatement45: 's.a&&Bat)#4Binsert int$ st%&ent1 val%es4D22D.D22D.D22D.D22D5B5: 's.a&&Bat)#4Binsert int$ st%&ent1 val%es4DMMD.DMMD.DMMD.DMMD5B5: 's.a&&Bat)#4B%'&ate st%&ent1 set snameCD11D.emailCD11D.'#$neCD11D ,#ere si&CD1DB5:'s.a&&Bat)#4B&elete -r$m st%&ent1 ,#ere si&CD2DB5:,#ile4rs.ne/t455?S!stem.$%t.'rint4rs.(etStrin(415+B;tB5:S!stem.$%t.'rint4rs.(etStrin(425+B;tB5:S!stem.$%t.'rint4rs.(etStrin(4M5+B;tB5:S!stem.$%t.'rintln4BB5:F F)at)#4E/)e'ti$n e5? S!stem.$%t.'rintln4e5:F-inall!?DBUtil.)lean%'4)$n.'s5:I I I'a)1a(e )$m.0avasree.0&):im'$rt 0ava.s7l.>:im'$rt )$m.0avasree.%til.>:'%li) )lass J&)E/1=?'%li) stati) v$i& main4Strin( as@A5?C$nne)ti$n )$nCn%ll:Statement 'sCn%ll:tr!?)$nCDBUtil.(etM!S7lC$nne)ti$n45:

'sC)$n.)reateStatement4Res%ltSet.TWPEKSCR322KSENSITI8E.Res%ltSet.C3NCURKUPDATAB2E5:Res%ltSet rsC's.e/e)%teL%er!4Bsele)t > -r$m st%&entMB5: S!stem.$%t.'rintln4B2n& Re)$r&B5: rs.as$l%te4M5:rs.&eleteR$,45:S!stem.$%t.'rint4rs.(etInt415+B;tB5:S!stem.$%t.'rint4rs.(etStrin(425+B;tB5:S!stem.$%t.'rint4rs.(etStrin(4M5+B;tB5:S!stem.$%t.'rintln4BB5:

rs.m$veT$InsertR$,45:rs.%'&ateInt41.RR5:rs.%'&ateStrin(42.B]B5:rs.%'&ateStrin(4M.BRRB5:rs.insertR$,45:S!stem.$%t.'rint4rs.(etInt415+B;tB5:S!stem.$%t.'rint4rs.(etStrin(425+B;tB5:S!stem.$%t.'rint4rs.(etStrin(4M5+B;tB5:S!stem.$%t.'rintln4BB5:

F &s1 Ct/Cne, InitialC$nte/t45** #ere n$ nee& t$ 'r$vi&e PCt/.in&4P0&)*M!S7lP$$lQ.&s15:)$n)$n)$n)$n)$n-D56 erver Name:alue J&)* &s1m!s7l '$$lrs.as$l%te425:S!stem.$%t.'rint4rs.(etInt415+B;tB5:S!stem.$%t.'rint4rs.(etStrin(425+B;tB5:S!stem.$%t.'rint4rs.(etStrin(4M5+B;tB5:S!stem.$%t.'rintln4BB5:

rs.%'&ateStrin(4M.B2222B5:rs.%'&ateR$,45:S!stem.$%t.'rint4rs.(etInt415+B;tB5:S!stem.$%t.'rint4rs.(etStrin(425+B;tB5:S!stem.$%t.'rint4rs.(etStrin(4M5+B;tB5:S!stem.$%t.'rintln4BB5:

)at)#4E/)e'ti$n e5? S!stem.$%t.'rintln4e5:F-inall!?DBUtil.)lean%'4)$n.'s5:FFFJDBC H:IBQ&B0&.BBQJDBC H:II