24
JDBC java database connectivity J2EE 1.4:--------- JDBC Servlet JSP RMI Java Beans Java mail JNDI EJB JMS JTA JAAS Database interaction in c/c++ prog:------ Use DB library Database interaction in java prog: ------ Mysql connection Oracle connection When you developing an application in c/c++ interact with the database you need to use database vendor for library in the program directly. In feature if you want to migrate database then you change lots of codes, because of using runtime specific library in the program directly. your program and database will become tightly couple. This increase the direct dependency between program and database and decrease application flexibility then automatically maintenance will be increased . To avoid this problem sun has provided portable API called JDBC API which allows you to interact with any database with less maintenance. C/C++ prog. Mysql DBI Librar DB librar Java prog. Mysql Oracle DB DB Driver Driver JDBC I

01_JLC

  • Upload
    phani

  • View
    214

  • Download
    2

Embed Size (px)

DESCRIPTION

nmb

Citation preview

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