第章JDBC数据库编程_第1页
第章JDBC数据库编程_第2页
第章JDBC数据库编程_第3页
第章JDBC数据库编程_第4页
第章JDBC数据库编程_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十章JDBC数据库编程10.1.1JDBC的作用JDBC是一种可以用来执行SQL语句的通用低层的JavaAPI,在不同的数据库功能模块的层次上提供了一个统一的用户界面。JDBC由一些java语言编写的类和接口组成,使用这些类可以使开发者用java语言来访问不同格式和位置的数据库JDBCAPI定义应用程序如何:打开连接与数据库通信执行SQL语句检索查询结果10.1.2JDBC驱动类型JDBC驱动程序的类型JDBC-ODBC桥加ODBC驱动程序本地协议纯Java驱动程序10.1.2JDBC驱动类型①JDBC-ODBC桥优点:简单初学容易。缺点:需要设置ODBC,浪费时间,并且受到限制。服务器Java程序JDBC-ODBCODBC本地函数①②④③10.1.2JDBC驱动类型②本地纯Java驱动优点:性能较高。缺点:程序员必须要有JDBC驱动程序,而且不同数据库还不同。服务器Java程序本地JDBC①②④③10.1.3JDBC数据库编程步骤

①下载不同数据库需要的JDBC驱动程序。

②加载驱动程序。③创建连接。

④创建执行SQL语句的对象。

⑤执行查询数据。

⑥处理查询结果。⑦关闭数据库。10.1.4JDBC数据库编程步骤①下载需要的驱动Oracle:。SQLServer:微软官方网站下载MSSQLSERVER.JARDB2:下载db2java.zipMySQL:/mm.mysql/SyBase:Informix:10.1.4JDBC数据库编程步骤②加载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数据库编程步骤④创建Statement对象Statement对象将SQL语句发送到DBMS

Statementstmt=conn.createStatement();⑤Statement对象的方法:executeUpdate()用来创建和更新表(CREATE、INSERT、UPDATE或DELETE语句)stmt.executeUpdate(sql);10.1.4JDBC数据库编程步骤executeQuery()对于SELECT语句stmt.executeQuery(query);

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

返回多个结果集,用于执行任何SQL语句。10.1.4JDBC数据库编程步骤⑥ResultSet对象包含SQL语句的执行结果next()方法移动指针指向当前结果。最初,指针被置于第一行之前使用getXXX方法检索数据getInt()用于检索整型值getString()用于检索字符串值10.1.4JDBC数据库编程步骤⑦关闭数据库关闭Statement对象stmt.close();关闭Connection对象conn.close();

10.2JDBC常用类和接口连接数据库接口:Driver、DriverManager。执行SQL语句和返回结果集的接口:

Connection、Statement、PreparedStatement、ResultSet接口。10.2JDBC常用类和接口Driver接口用于读取数据库驱动的基本信息,提供了connect()方法建立访问数据库所用的Connection对象。DriverManager提供了连接数据库的另外一种方式,用来管理Driver对象,提供了注册驱动、获得连接及向数据库输出流发送信息等方法。方法:getConnection()。10.2JDBC常用类和接口Connection:连接数据库createStatement():创建Statement对象。prepareStatement():创建PreparedStatement对象Statement:执行sql语句,得到数据库的返回结果。executeQuery(SQL)executeUpdate()Execute()close()ResultSet:表示数据库结果集的数据表,通常通过执行查询数据库的语句生成。查询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);//不带垒参数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沟”岭;//参数月固定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+滤”’”;//执行氧查询Re隆su绸lt地Se丛trs=st幼m.姿ex里ec惜ut帐eQ龄ue朗ry墙(s羞ql);查询2、处艰理结耗果集判断翠是否泽有查娃询结刷果if疑(rs蝴.n姓ex私t()){}循环耐处理倦结果悠集内崇容wh蜂il篮e(户rs社.n帝ex闻t){rs区.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创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(“添加固成功”);}添加碑、更到新和据删除2、Pr怠ep吨ar霉ed颈St窜at显em额en眨t对象能执洁行带荡变量涛的SQ篇L语句地。变薄量是野在后曾面的匙程序杯代码即中设炸置的恳,或哑在程彼序执盾行期温间动攻态指惧定的钥。(1械)创建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采)设置舞参数邀的值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蹈em轮ai副l)满;(4嫩)执行买语句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稳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",创""乒,"家")耻;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、数茫据库悬操作搂实例使用JT吵ab辆le显示遥和添奴加员维工资躺料到划数据锹库中侨。并可迅实现全对数所据的惭基本尚操作挖。MV粘C分层场原理M(日mo稀du姐le):模故型(椅数据疼访问顺层)—维护解数据忍并提差供数犹据访养问方望法V(竖vi令ew):视宜图(步表示问层)—数据洲的显岂示C(虫co铸nt剖ro框l):控爹制器抢(业脖务层针)—处理跳用户同命令千以及最程序即事件10腹.3膊JD疯BC示例数据访问层数据持久层业务层表示层数据映射层10著.3省JD凳BC示例(1属)数据励映射当层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;}应}连接做数据酒库。态连接远不同赚的数而据库反,在雷该层布会有冰区别译,在滴其它过层中奔各数俯据库规的区鼻别被块隐藏昨。所察以,建即使酸更换偷数据血库,巾也只晕对该遭层有桐影响径。(2传)数据靠访问货层1、通宁过JD拥BC素-O艘DB谁C数据魔源连甘接数裤据库代码书如下诊: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;多//数据残库连演接对验象pu枪bl坝ic篮C花on盯ne冈ct环io歌nge梢tC糊on窃n()旧{tr固y{Cl酬as干s.忘fo勇rN赤am资e(邮"s贯un拦.j裁db骄c.胸od需bc虏.J发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",栗""养,"杰")呀;}ca喝tc陵h(巧Ex括ce坑pt柿io如ne)寻{}re芬tu能rnco却nn;}}数据命源名称(2般)数据岔访问去层2、通攻过JD失BC直接尿驱动井连接睛数据坛库tr售y豆{//连接多数据给库Cl施as榴s.虽fo灾rN侧am臂e(“co渔m.卫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养oc逝al县ho醋st画:1悠43楚3;Da妹ta朗ba防se也Na按me=sh鸡op简ca帖rt",写"sa",钢""展);}(2巾)数据宗访问鞠层(3箱)业务圣层实现始对数景据库吸的处葡理//ha开nd雀le绳Em蕉pl用oy朵ee脱.j轮av窝aim航po耕rtja卫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联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.湾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溉ma领il研()矮+"跑')"喝);st病m.于cl括os商e()压;re雷tu剧rn痰t码ru滋e;扒}ca叨tc汤h(毫Ex学ce膜pt奴io掀nex规){千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.乡丰ou之t.娇pr要in琴t(体e);稳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规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语句环的字鹿符串短,使威用单枕引号湖识别注意sq汁l语句松的单谎、双余引号咱配对窗的问突题。漠当我肝们不禁确定sq助l语句寨是否钓正确阳时,刚可以第使用Sy优st杏em浊.o烦ut锄.p池ri意nt他ln扔(s走ql)输出sq割l语句再来检旗查如果祖是整花数或熄浮点晃数类每型,饥则不叼需要农使用鞭引号葛连接微。如: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字段私是数鹅字类作型,痛则: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(缴)+山"'规,'炊"+僻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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论