第章JDBC數(shù)據(jù)庫編程_第1頁
第章JDBC數(shù)據(jù)庫編程_第2頁
第章JDBC數(shù)據(jù)庫編程_第3頁
第章JDBC數(shù)據(jù)庫編程_第4頁
第章JDBC數(shù)據(jù)庫編程_第5頁
已閱讀5頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第十章JDBC數(shù)據(jù)庫編程10.1.1JDBC的作用JDBC是一種可以用來執(zhí)行SQL語句的通用低層的JavaAPI,在不同的數(shù)據(jù)庫功能模塊的層次上提供了一個統(tǒng)一的用戶界面。JDBC由一些java語言編寫的類和接口組成,使用這些類可以使開發(fā)者用java語言來訪問不同格式和位置的數(shù)據(jù)庫JDBCAPI定義應用程序如何:打開連接與數(shù)據(jù)庫通信執(zhí)行SQL語句檢索查詢結果10.1.2JDBC驅動類型JDBC驅動程序的類型JDBC-ODBC橋加ODBC驅動程序本地協(xié)議純Java驅動程序10.1.2JDBC驅動類型①JDBC-ODBC橋優(yōu)點:簡單初學容易。缺點:需要設置ODBC,浪費時間,并且受到限制。服務器Java程序JDBC-ODBCODBC本地函數(shù)①②④③10.1.2JDBC驅動類型②本地純Java驅動優(yōu)點:性能較高。缺點:程序員必須要有JDBC驅動程序,而且不同數(shù)據(jù)庫還不同。服務器Java程序本地JDBC①②④③10.1.3JDBC數(shù)據(jù)庫編程步驟

①下載不同數(shù)據(jù)庫需要的JDBC驅動程序。

②加載驅動程序。③創(chuàng)建連接。

④創(chuàng)建執(zhí)行SQL語句的對象。

⑤執(zhí)行查詢數(shù)據(jù)。

⑥處理查詢結果。⑦關閉數(shù)據(jù)庫。10.1.4JDBC數(shù)據(jù)庫編程步驟①下載需要的驅動Oracle:。SQLServer:微軟官方網站下載MSSQLSERVER.JARDB2:下載db2java.zipMySQL:/mm.mysql/SyBase:Informix:10.1.4JDBC數(shù)據(jù)庫編程步驟②加載Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");③建立連接Connectionconn=DriverManager.getConnection(url,

login_name,login_password);Connectionconn=DriverManager.getConnection(“jdbc:odbc:tongxin”,“”,“”);DriverManager.getConnection("jdbc:sqlserver://localhost:1433;DatabaseName=tongxin","sa",””);

10.1.4JDBC數(shù)據(jù)庫編程步驟④創(chuàng)建Statement對象Statement對象將SQL語句發(fā)送到DBMS

Statementstmt=conn.createStatement();⑤Statement對象的方法:executeUpdate()用來創(chuàng)建和更新表(CREATE、INSERT、UPDATE或DELETE語句)stmt.executeUpdate(sql);10.1.4JDBC數(shù)據(jù)庫編程步驟executeQuery()對于SELECT語句stmt.executeQuery(query);

返回ResultSetResultSetrs=stmt.executeQuery(query);execute()stmt.execute();

返回多個結果集,用于執(zhí)行任何SQL語句。10.1.4JDBC數(shù)據(jù)庫編程步驟⑥ResultSet對象包含SQL語句的執(zhí)行結果next()方法移動指針指向當前結果。最初,指針被置于第一行之前使用getXXX方法檢索數(shù)據(jù)getInt()用于檢索整型值getString()用于檢索字符串值10.1.4JDBC數(shù)據(jù)庫編程步驟⑦關閉數(shù)據(jù)庫關閉Statement對象stmt.close();關閉Connection對象conn.close();

10.2JDBC常用類和接口連接數(shù)據(jù)庫接口:Driver、DriverManager。執(zhí)行SQL語句和返回結果集的接口:

Connection、Statement、PreparedStatement、ResultSet接口。10.2JDBC常用類和接口Driver接口用于讀取數(shù)據(jù)庫驅動的基本信息,提供了connect()方法建立訪問數(shù)據(jù)庫所用的Connection對象。DriverManager提供了連接數(shù)據(jù)庫的另外一種方式,用來管理Driver對象,提供了注冊驅動、獲得連接及向數(shù)據(jù)庫輸出流發(fā)送信息等方法。方法:getConnection()。10.2JDBC常用類和接口Connection:連接數(shù)據(jù)庫createStatement():創(chuàng)建Statement對象。prepareStatement():創(chuàng)建PreparedStatement對象Statement:執(zhí)行sql語句,得到數(shù)據(jù)庫的返回結果。executeQuery(SQL)executeUpdate()Execute()close()ResultSet:表示數(shù)據(jù)庫結果集的數(shù)據(jù)表,通常通過執(zhí)行查詢數(shù)據(jù)庫的語句生成。查詢1、產潔生結畝果集St裂at況em軍en碗tst首m=co晴n.將cr芽ea譯te不St技at塵em檢en山t()安;//只能炸向前St僵at淡em泄en茶tst家m=co苗n.休cr直ea啞te翅St疼at奇em霸en候t(Re疊su酸lt渣Se陶t.船TY午PE詢_S何CR竭OL浩L_少IN鴨SE迷NS蛋IT岡IV反E,Re控su灶lt概Se棋t.恨CO曠NC遼UR縱_R友EA次D_版ON普LY);//不帶壘參數(shù)St嚷ri沃ngsq散l=“啄se仍le跳ct爹*窗f盞ro滔m貝us蠢er享s”米;St坊ri筍ngsq膚l=“酷se糠le贈ct纖*徹f愿ro丟m腦us踢er但s劈燕wh顫er筆e蛛na衣me乳=‘張三凈’an科dsn詠o=‘皇’1允23溝”嶺;//參數(shù)月固定St企ri煎ngsq爽l=“喪se什le獸ct臘*屆f派ro問m廣us悶er葬s紐奉wh籍er豎e儀na垃me獸=‘”圣+n掏am戀e+移”’an悅dsn麻o=‘”寸+n憲o+濾”’”;//執(zhí)行氧查詢Re隆su綢lt地Se叢trs=st幼m.姿ex里ec惜ut帳eQ齡ue朗ry墻(s羞ql);查詢2、處艱理結耗果集判斷翠是否澤有查娃詢結刷果if疑(rs蝴.n姓ex私t()){}循環(huán)耐處理倦結果悠集內崇容wh蜂il籃e(戶rs社.n帝ex聞t){rs區(qū).g樂et悄St之ri購ng卵(1警);rs港.g猜et堆In蒜t(蜜2)陜;rs以.g肚et客Da亞te籃(3們);……}3、操層作方即法in良tge文tR脾ow()//獲取粥當前壞行編谷號bo懼ol淋ea撐npr品ev嗽io尤us忍()vo踏id副f致ir喚st裝()vo庸id炎l角as角t(練)bo涉ol矛ea掛nab生so憤lu掏te限(i舟nti)望//將光高標移扛到指服定行添加疾、更歐新和躲刪除1、使蠶用St借at孟em耍en謊t對象St冬at鈔em響en希tst倆m=co咽n.物cr液ea聰te筐St逆at丘em詞en臉t()悅;St蓮ri疾ngsq創(chuàng)l=“拿in鳳se椅rt恢i缸nt訂o諸us失er桃s勸va激lu痕es(‘”胞+na犧me筑+”灰’,亮”+骨ag林e+括”,’”比+s劣no恰+”雕’,’”隊+e龜ma雜il+”喊’)”暑;in糾tu=st浮m.ex宮ec虎ut爛eU壯pd役at慕e(s疑ql);if營(u!=株0){Sy均st驕em恩.o浩ut得.p劃ri癢nt撲ln(“添加固成功”);}添加碑、更到新和據(jù)刪除2、Pr怠ep噸ar霉ed頸St竄at顯em額en眨t對象能執(zhí)潔行帶蕩變量濤的SQ篇L語句地。變薄量是野在后曾面的匙程序杯代碼即中設炸置的懇,或啞在程彼序執(zhí)盾行期溫間動攻態(tài)指懼定的鑰。(1械)創(chuàng)建Pr自ep溜ar掘ed埋St菌at杰em級en毀t對象Pr友ep濁ar撓ed濾St珠at警em蜜en亦tps鋸tm=co禽n.pr虎ep火ar芬eS私ta盤te橡me天nt孤(S帳tr光in闖gsq股l)印;添加緊、更殖新和因刪除(2陶)設置SQ壯L語句St扒ri乓ngsq呼l=“矩in琴se測rt忙i啄nt擦o癥Em遙pl揉oy亦er義v當al蠅ue窮s(?,?,?)”燭;ps狹tm=c資on煙.pr重ep廚ar救St橫at通em桐en援t(子sq真l);(3采)設置舞參數(shù)邀的值ps就tm致.s故et耽St煮ri槍ng過(1正,e索no量);ps提t(yī)m姥.s膠et反St邀ri驢ng棚(2旺,e顛na戰(zhàn)me池);ps育tm巧.s來et堡St助ri妄ng揮(3煩,e蹈em輪ai副l)滿;(4嫩)執(zhí)行買語句ps天tm香.e球xe誕cu索te拿Up嚇da淺te()彈;ps路tm霧.e今xe燦cu缸te()壤;添加鑄、更摧新和耍刪除(5苦)實例攜操作tr乓y{Cl海as念s.祝fo核rN尺am層e(夾"s抄un鹿.j超db穩(wěn)c.旁od文bc胡.J侄db狡cO請db愈cD黃ri蹄ve舉r")雞;Co恒nn捎ec痰ti襪onco潔nn=Dr惹iv暈er洽Ma慈na搶ge油r.潔ge盒tC蚊on斃ne悔ct掙io旺n("jd最bc塔:o盒db瘦c:士to謹ng哨xi令n",創(chuàng)""乒,"家")恥;St瞎ri孝ngsq堵l="漁in般se乘rt擊i易nt淘o兵Em誤pl確oy哀er躬v綠al騾ue鋸s(?,曠?,畢?,驕?)"命;Pr捏ep芒ar憂ed牙St什at色em池en洽tps泄tm=co孔nn第.p波re盡pa越re因St小at所em譜en臂t(蓄sq顯l);ps姜tm裂.s榆et憤St撞ri寶ng叨(1甲,e決no矛);ps蛛tm旱.s擔et萬St奴ri浩ng裕(2狗,e李na軍me抗);ps兔tm搬.s腐et徑St暗ri李ng弊(3顛,e賀ph孟on型e)牧;ps言tm闊.s溝et俱St世ri乒ng輪(4疫,e魂em媽ai滴l)書;in肥tu=ps谷tm丘.e換xe蒼cu睜te肉Up起da啄te()外;}ca頑tc爭h(杰Ex命ce竹pt固io綁ne){e.造pr揮in挽tS礙ta毅ck濫Tr啄ac蟲e()球;}10煉.3濫JD新BC示例3、數(shù)茫據(jù)庫懸操作摟實例使用JT吵ab輛le顯示遙和添奴加員維工資躺料到劃數(shù)據(jù)鍬庫中僑。并可迅實現(xiàn)全對數(shù)所據(jù)的慚基本尚操作挖。MV粘C分層場原理M(日mo稀du姐le):模故型(椅數(shù)據(jù)疼訪問順層)—維護解數(shù)據(jù)忍并提差供數(shù)猶據(jù)訪養(yǎng)問方望法V(豎vi令ew):視宜圖(步表示問層)—數(shù)據(jù)洲的顯豈示C(蟲co鑄nt剖ro框l):控爹制器搶(業(yè)脖務層針)—處理跳用戶同命令千以及最程序即事件10腹.3膊JD瘋BC示例數(shù)據(jù)訪問層數(shù)據(jù)持久層業(yè)務層表示層數(shù)據(jù)映射層10著.3省JD凳BC示例(1屬)數(shù)據(jù)勵映射當層pu沿bl趣ic月c英la督ss罪E方mp疫lo歌ye宴r壞{pr鋒iv糾at庭e堵St煌ri膜ngcn無o;pr之iv單at道e映St幻玉ri多ngcn掉am厘e;pr域iv翠at責e完St隔ri貼ngcp讓ho貌ne;pr赴iv狐at飼e稱St通ri黎ngce踩ma熊il;pu間bl提ic秒E告mp懲lo橡ye金r(系)貝{}pu僚bl瀉ic匹v同oi拐dse輩tC蠶no望(S屯tr榴in云gcn小o)緞{t膜hi記s.備cn希o=cn逢o;懲}pu襲bl萍ic舒v泰oi構dse吵tC孝na綢me犯(S繪tr沫in楚gcn痛am柱e)今{t摘hi睛s.泥cn庫am第e=cn源am耳e;疾}pu欠bl日ic逐v紛oi勵dse丟tC著ph鵲on膚e(遼St芹ri到ngcp泡ho更ne尿){捏th做is牧.c誰ph爆on恨e=cp滔ho奏ne;浮}pu宣bl御ic詞v欣oi蜜dse它tC熱em峰ai逝l(屋St住ri膠ngce襲ma段il對){襯th虜is教.c衡em磁ai亂l=ce峰ma根il;謠}pu肌bl慘ic湯S奸tr呆in法gge歐tC吹no望()及{r顫et遭ur霧ncn阿o;仇}pu捕bl啦ic伯S釋tr頭in注gge介tC旬na回me要()盜{r揮et漢ur坡ncn請am借e;掩}pu悉bl劣ic研S防tr拴in米gge暴tC株ph糾on逝e(案){故re苦tu由rncp將ho桑ne;室}pu睜bl辰ic餐S粥tr啦in著gge渡tC證em啄ai險l(貨){杰re趙tu忽rnce密ma天il;}應}連接做數(shù)據(jù)酒庫。態(tài)連接遠不同賺的數(shù)而據(jù)庫反,在雷該層布會有冰區(qū)別譯,在滴其它過層中奔各數(shù)俯據(jù)庫規(guī)的區(qū)鼻別被塊隱藏昨。所察以,建即使酸更換偷數(shù)據(jù)血庫,巾也只暈對該遭層有桐影響徑。(2傳)數(shù)據(jù)靠訪問貨層1、通寧過JD擁BC素-O艘DB誰C數(shù)據(jù)魔源連甘接數(shù)褲據(jù)庫代碼書如下診:im唱po示rtja舟va精.s蒙ql.*咸;pu濫bl窩ic漁c雞la肢ssDB津Co攏nn蹈ec查t{Co番nn鑰ec掘ti約onco換nn=n傾ul廈l;多//數(shù)據(jù)殘庫連演接對驗象pu槍bl壩ic籃C花on盯ne岡ct環(huán)io歌nge梢tC糊on竊n()舊{tr固y{Cl酬as干s.忘fo勇rN赤am資e(郵"s貫un攔.j裁db驕c.胸od需bc虜.J發(fā)db濟cO晴db捏cD孔ri港ve鍛r")耕;co堪nn=Dr船iv嫁er順Ma搶na制ge冠r.浪ge掌tC善on暗ne形ct瓜io妻n("jd預bc奇:o苗db強c:遣to飽ng憂xi昨n",栗""養(yǎng),"杰")呀;}ca喝tc陵h(巧Ex括ce坑pt柿io如ne)尋{}re芬tu能rnco卻nn;}}數(shù)據(jù)命源名稱(2般)數(shù)據(jù)岔訪問去層2、通攻過JD失BC直接尿驅動井連接睛數(shù)據(jù)壇庫tr售y豆{//連接多數(shù)據(jù)給庫Cl施as榴s.雖fo災rN側am臂e(“co漁m.衛(wèi)mi曬cr葉os是of串t.組jd伙bc蛙.s趕ql爽se石rv炸er刺.S雹QL礦Se戀rv取er昏Dr茫iv瓣er")今;co槐nn=Dr襯iv禿er爽Ma散na著ge爸r.宗ge貼tC卻on兼ne享ct殊io響n(“jd畫bc隙:m裕ic揮ro賭so昆ft肺:s謹ql因se懶rv慢er新:/彼/l養(yǎng)oc逝al縣ho醋st畫:1悠43楚3;Da妹ta朗ba防se也Na按me=sh雞op簡ca帖rt",寫"sa",鋼""展);}(2巾)數(shù)據(jù)宗訪問鞠層(3箱)業(yè)務圣層實現(xiàn)始對數(shù)景據(jù)庫吸的處葡理//ha開nd雀le繩Em蕉pl用oy朵ee脫.j輪av窩aim航po耕rtja衛(wèi)va紀.s襖ql.*塑;pu敘bl宋ic捕c汁la棵ssha前nd平lE晉mp省lo孝ye礎r{Co困nn呼ec道ti魔on膽c肌on月=n夢ul掀l;St替at拋em抽en卷t挎st騙mt限=n奇ul兔l;Re雨su騾lt剖Se閑trs=n腎ul絹l;pu簡bl憐icha油nd挨lE德mp污lo籃ye叮r()霸{tr樂y{DB批Co到nn律ec啟tdb繁=n哪ewDB增Co碼nn碗ec菠t()百;co采n=db拳.g跑et科Co育nn()圾;誰}ca歡tc源h(剛Ex嗓ce胳pt詳io鍵nsq織le){鍵}挑}pu鋼bl伐icRe促su悠lt樸Se食tse牽le模ct暑Al抽l(){tr酷y{St槽at謀em束en詢tst聯(lián)m=co蓬n.陰cr坦ea岔te榜St銀at私em危en辯t(Re傲su結lt濱Se旁t.蓋TY偵PE_SC棗RO扣LL妄_I蔽NS鬼EN累SI尸TI可VE獎,R喊es薯ul除tS瓜et竊.C疾ON缺CU午R_舌UP港DA洋TA孩BL晌E);rs=st猴m.卻ex趕ec粒ut嘆eQ引ue側ry無("紐奉se去le嚴ct*欺fr追om姐E騙mp探lo罵ye狼r"瞇);}ca疤tc愁h(抓Ex宣ce庭pt貌io荒nse盡){侍}re慌tu誰rnrs;項}pu腔bl定icbo菊ol蓮ea疼nad呀dE障mp卡lo集ye解r(銀Em刪pl維oy宰ere){tr畫y{St段at休em牧en魯tst柱m=co瘡n.哨cr普ea脊te噸St磁at坐em蛇en烤t()熔;st美m(xù).灣ex休ec磨ut遺eU邁pd則at播e(銀"i狗ns屑er鞏tin壯to倘E夢mp喊l(fā)o弱ye探r廚va隨lu寧es柳('"拒+e幅.g穗et先Cn鑼o(握)+質"'器,'屈"+恢e.煮ge衡tC拉na浮me升()訪+"父',任'"喉+e傲.g穴et跳Cp纏ho會ne怪()錢+"獵',膀'"峰+e繡.g稻et艷Ce溉ma領il研()矮+"跑')"喝);st病m.于cl括os商e()壓;re雷tu劇rn痰t碼ru滋e;扒}ca叨tc湯h(毫Ex學ce膜pt奴io掀nex規(guī)){千re鉗tu箭rnfa細ls于e;剖}蛾}pu視bl油icbo甩ol摔ea凝nde循le公te敬Em蘆p(餓St志ri次ngzc擦no){tr匹y{St寬at弟em晴en共tst單m=co渠n.韻cr亂ea乳te塘St州at育em神en賞t()茂;in浙th=st炎m.械ex汽ec釀ut烈eU抽pd敬at蠅e(園"d唱el鳴et效efr騎om走E困mp乞lo憲ye稼r窮wh婚er釀eem滅pn嬌o='盲"+zc鴉no+"搖'"夕);if赴(h!=誓0|拘|h卡!=甜-1讀)番r味et吩ur頑n選tr完ue道;el察se愛re血tu奇rn愿f窄al飽se侵;}ca險tc仰h(半Ex鼠ce牛pt費io就ne)醋{S盾ys調te海m.鄉(xiāng)豐ou之t.嬌pr要in琴t(體e);穩(wěn)r基et附ur培n識fa檔ls斯e;自}倆}歲}st波m.嬸ex汗ec看ut廣eU乎pd攔at吼e(擱"i覽ns陪er助tin甲to言E竊mp馳lo蕩ye另r周va好lu遣es矮('"孟+e穴.g謝et麻Cn服o(濤)+桐"'卵,'缺"+營e.尋ge在tC手na持me拋()耍+"筑',宰'"灑+e犯.g弱et團Cp厭ho必ne傭()坐+"餐',府'"妥+e蹦.g己et展Ce規(guī)ma向il尤()糖+"冠')"媽);in山th=st宣m.燙ex盲ec鐘ut勞eU斯pd行at應e(扇"d抱el曠et角efr救om疏E育mp踏lo冠ye咳r遍wh費er剝eem傘pn積o='蟲"+zc朵no+"壘'"熱);說明夢:Ja敏va的字尺符串古使用工雙引宏號識陳別;sq慰l語句環(huán)的字鹿符串短,使威用單枕引號湖識別注意sq汁l語句松的單謊、雙余引號咱配對窗的問突題。漠當我肝們不禁確定sq助l語句寨是否釣正確陽時,剛可以第使用Sy優(yōu)st杏em濁.o煩ut鋤.p池ri意nt他ln扔(s走ql)輸出sq割l語句再來檢旗查如果祖是整花數(shù)或熄浮點晃數(shù)類每型,饑則不叼需要農使用鞭引號葛連接微。如:St黎ri由ngsq幕l="休in猾se蜘rt隱i詞nt囑o勵Em徑pl效oy售er慢v你al傲ue表s允('"如+e勇.g額et戚Cn工o(謙)+蛋"'庭,'督"+倡e.誦ge獄tC趙na跑me喜()反+"奸',它'"匆+e符.g足et勁Cp短ho左ne循()唇+"尖',吐'"努+e呈.g坦et掀Ce粗ma攤il蓄()勿+"暫')"蒜;Sy張st腿em聚.o夠ut頸.p顛ri充nt飛ln迅(s凍ql);假設肅已知e.資ge扣tC潤no()獲得意的值糕是00沾1、e.果ge始tC圖na魔me獲得致的值亂是zh境an討gs秘an、e.提ge騎tC項ph納on振e()獲得貧的值誓是03儲16斗12輔34始5、e.晌ge褲tC誰em碼ai倉l()獲得雷的值由是zh填an箭gs柿an珠@1元26某.c吩om,則煤輸出石結果座為:in土se遭rt浮i筐nt飽o伸Em鍋pl括oy撕er鴿v票al春ue括s王(‘糾00無1’興,’取zh群an法gs皆an扮’,期’0霉31植61頸23魄45旬’,壘’z陪ha偽ng糕sa旨n@紋12辦6.猛co抗m’恨)如:假設em丘pn叫o字段私是數(shù)鵝字類作型,痛則:St判ri畢ngsq虎l=(曲"i妻ns魂er尸t婚in顏to聚E價mp箱lo屯ye談r進va藏lu熱es("+e.就ge居tC滿no線()峽+",蒸"+e柳.g丘et鳳Cn壇am司e(恩)+次"'粒,'轉"+恩e.溉ge抹tC捕ph譯on告e(繳)+山"'規(guī),'炊"+僻e.貌ge亡tC塌em爹ai駕l(釣)+哪"')"淋);(4賊)表示設層pu狂bl瘋ic恥c震la種ssUs舟er逮In康fo勤Fr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論