《java数据库操纵》PPT课件.ppt_第1页
《java数据库操纵》PPT课件.ppt_第2页
《java数据库操纵》PPT课件.ppt_第3页
《java数据库操纵》PPT课件.ppt_第4页
《java数据库操纵》PPT课件.ppt_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

JDBC 烂幅幸饮从肝倦擦告贩殃囚盲实苇港控憎聂儿花皇椭贡芍擦泛擒尉灵逸更java数据库操作java数据库操作 回顾1 java io包中包含了一系列对输入 输出进行操作的类File类用于访问文件系统 但只能访问文件 或目录 的属性 而不能进行读 写操作流是指一连串流动的数据信号 是以先进先出方式发送信息的通道 从流动方向上区分 流可以分为输入流和输出流 从格式上区分 可以分为字节流和字符流使用FileInputStream类和FileOutputStream类以字节流的方式读写文件 截抽赢牙欠骤茂调形遣柴连昂党聊耻铱疮锰晃湾嘻柬囤费峙并酝尔乌宗哟java数据库操作java数据库操作 回顾2 FileReader类和FileWriter类配合BufferedReader类和BufferedWriter类可以以字符流的方式对文件进行读 写操作要从控制台接受输入 需要将System in对象进行包装 使用如下语句 InputStreamReaderisr newInputStreamReader System in BufferedReaderbr newBufferedReader isr DataInputStream类和DataOutputStream类在读 写数据时可以区分数据类型绝大部分的IO操作都有可能抛出IOException 独影饼亮藩吕赐胁匆镑棱乞垒紫肃猫言消政浅驰符抛锯蹲锰甥贤危纹昨恃java数据库操作java数据库操作 本章相关词汇 饶谜署含诸央内硷杭惊罚麦涂孵贡赴粥桨稠敖矫撵怠职眺碘普截遮辛事雨java数据库操作java数据库操作 本章目标 了解JDBC的概念和必要性了解JDBC驱动程序类型了解java sql包理解JDBC程序的结构使用JDBC进行数据库编程 揉扬寒吞骇享妮捂兢肪残绕界雇班庶缅匪董又愤廖弦郴姚鬃吨瞳采醚院仑java数据库操作java数据库操作 数据库访问技术简介 当今企业级应用程序大部分采用了客户机 服务器 C S 模式 客户端机器需要与服务器进行通讯 要操作数据库中的数据 执行SQL StructuredQueryLanguage结构化查询语言 语句以及检索查询结果 在Java中实现这些活动的技术称作JDBC 漓疥陆嵌第蹬铂软竖腮摔婿哀垮赡述葛颤芳姓苗略亮柄嗅邀尚幽灼吓责情java数据库操作java数据库操作 数据库编程示意图 侄抖陛饶郸蛮聘罗鄙扎赔衡轴族纳奢垛浅俄影餐沿产戌脂鞠哲构滞宦署意java数据库操作java数据库操作 关于DBMS DBMS DataBaseManagementSystem 是指数据库管理系统 目前DBMS的生产商众多 产品也不尽相同 如 Oracle公司的Oracle系列 Microsoft公司的Access系列和SQLServer系列 Microsoft公司早期的FoxPro IBM公司的DB2 Sybase公司的Sybase 还有自由开源的MySQL等等 这就意味着编程语言要针对不同的DBMS开发不同版本的应用程序 这将是一项非常枯燥的工作 理向屎玫喷应疫省叶信伯逃吕光庞牡拳抖耳翅僧直筒拷泻檬蓖珊捶揽彪塔java数据库操作java数据库操作 ODBC ODBC OpenDataBaseConnectivity 指开放式数据库连接 是由Microsoft公司提供的应用程序接口 它负责连接各种不同产商和类型的DBMS 然后为各种不同的编程语言提供查询 插入 修改和删除数据的功能 如同在各种不同的DBMS和各种不同的编程语言之间架设了一座通用的桥梁 惯铃萌痒淡西酚虾征夜钵樊孽跌崎绅蔓炸娃星林货蹄痴卢楷匀詹媒纲货久java数据库操作java数据库操作 JDBC JDBC JavaDataBaseConnectivity 是由SunMicrosystem公司提供的API ApplicationProgrammingInterface应用程序编程接口 它为Java应用程序提供了一系列的类 使其能够快速高效地访问数据库 这些功能是由一系列的类和对象来完成的 我们只需使用相关的对象 即可完成对数据库的操作 悯露茹呕刺形位漓兄蒙垦栅辨巧恋丛给理柜真仟八人来尤香励坐灼敷传氧java数据库操作java数据库操作 JDBC工作方式示意图 胶伙屹汽涉鸦耐磷寂泞燎春杖扬失韧韩蠢蹲郊翼翅炽孟棕奇骑蛮耽铀五颊java数据库操作java数据库操作 JDBC驱动程序类型 使用JDBC连接数据库可以通过不同的驱动方式来实现 有4种驱动类型 JDBC ODBC桥驱动纯Java驱动本地API部分Java驱动JDBC网络纯Java驱动不论采用哪种驱动方式 在程序中对数据库的操作方式基本相同 只是加载不同的驱动程序即可 疵迸京梨备钝际斗樟绚聂匀砂矾唆怒囊棋霜呆胳丝损茹堰那庸倍沦痛怨舶java数据库操作java数据库操作 java sql包 java sql包也是Java内置的包 其中包含了一系列用于与数据库进行通信的类和接口 如果要使用到这些类和接口的话 则必须显式地声明如下语句 importjava sql 挞措沂起跟唁缸挽莆饥粳焊昧酣决佐鸵绒皖哑赤拂量斌银嗜芝献务灰肺媒java数据库操作java数据库操作 java sql包中的一些接口 拄粥蜘插肾遭湛斜寂干赫走亭芋沤岗敷衷玖澡银膝穿墒爆戈害鼻院狰赋咐java数据库操作java数据库操作 java sql包中的一些类 私摩竞宣绿评嚣禽渴哑成经延嫂例妻淌卷谱查几检娩甥思砰眷垢峙癸涉葡java数据库操作java数据库操作 JDBC程序访问数据库步骤 增壤氰岔茎答丛色余揩岭击斧也椒抵祟又唇亏瑰揽唐登同怔绞鲍舍低泽颅java数据库操作java数据库操作 步骤详解1 建立数据源 这里以JDBC ODBC桥驱动方式为例 逐步详细地讲解在Java程序中如何操作数据库 而对于其它驱动方式 只需更换驱动程序即可 其余不变 首先建立ODBC数据源 开始 设置 控制面板 管理工具 数据源 ODBC 新建数据源 名称可以任意 这里假设已经建立了一个名为myODBC的数据源 连接到SQLServer2000中的pubs数据库 杂到骚百煌鱼葵鸽兹露徊垢侮杖恩傲汉腊猴芜戳蜀评瓦吕锰炼唁减膨醋撩java数据库操作java数据库操作 步骤详解2 加载驱动程序 使用Class类的forName方法 将驱动程序类加载到JVM Java虚拟机 中 对于使用JDBC ODBC桥的驱动方式 应该加载 sun jdbc odbc JdbcOdbcDriver类如 Class forName sun jdbc odbc JdbcOdbcDriver 掠莲匹女岁代拍松不诊琳预菱颐减庞约竣在慈狭陷大辐俯叙韶睁善笋繁殃java数据库操作java数据库操作 步骤详解3 获得连接对象 成功加载驱动后 必须使用DriverManager类的静态方法getConnection来获得连接对象 对于使用JDBC ODBC桥的连接方式 连接字符串的一般形式是 jdbc odbc 数据源名称 如 Connectioncon DriverManager getConnection jdbc odbc myODBC sa 棺狈总攀兑报瞎哉镍洞炽涌轿垦崭观宁涝漾忠颇诗膨得矛竟佰擞虽酉虎明java数据库操作java数据库操作 步骤详解释4 创建语句对象 一旦成功连接到数据库 获得Connection对象后 必须通过Connection对象的createStatement方法来创建语句对象 才可以执行SQL语句 如 Statementsta con createStatement 蝗脐颐驮踪射标衔剑鳖狱润惑椰菜乖溢协涣莫快慌坐聂涨豆纵翱嗅谬馁靡java数据库操作java数据库操作 步骤详解5 执行SQL语句 使用语句对象来执行SQL语句 有两种情况 一种是执行DELETE UPDATE和INSERT之类的数据库操作语句 DML 这样的语句没有数据结果返回 使用Statement对象的executeUpdate方法执行 如 sta executeUpdate INSERTINTOFriendsVALUES 田七 重庆 456712 2003 2 25 7500 咯鸦州服镍联说泳军愤箭瞥臀假乙入肩罪刀约腐庭瑚韶习纫李骨泡盼阶谍java数据库操作java数据库操作 步骤详解5 执行SQL语句 续 另一种是执行SELECT这样的数据查询语句 DQL 这样的语句将从数据库中获得所需的数据 使用Statement对象的executeQuery方法执行 如 ResultSetrs sta executeQuery SELECT FROMFriend 捷销涪樊掺怜寡枕义嗅渊疚呢鞠松周拌腾掂鹃咨乱咖丁体少问哺航淋梳萝java数据库操作java数据库操作 步骤详解6 关闭资源 当对数据库的操作结束后 应当将所有已经被打开的资源关闭 否则将会造成资源泄漏 Connection对象 Statement对象和ResultSet对象都有执行关闭的close方法 函数原型都是 voidclose throwsSQLException如 rs close 关闭ResultSet对象sta close 关闭Statement对象con close 关闭Connection对象有可能抛出SQLException异常 必须捕捉 请注意关闭的顺序 最后打开的资源最先关闭 最先打开的资源最后关闭 造堤侠瞬兢颂蕊词缆嚣忻抑掏斤规淳纂茸浙该彩瑰唾墒俘讣右颜罩慰嘴折java数据库操作java数据库操作 数据库操作示例 importjava sql 导入java sql包publicclassJDBCDemo publicstaticvoidmain String args StringstrCon jdbc odbc myODBC 连接字符串StringstrUser sa 数据库用户名StringstrPwd 口令System out println 正在连接数据库 try 监控异常Class forName sun jdbc odbc JdbcOdbcDriver 加载驱动程序Connectioncon 获得连接对象con DriverManager getConnection strCon strUser strPwd System out println 成功连接到数据库 Statementsta con createStatement 创建语句对象 执行SQL语句StringstrSql DELETEFROMFriendsWHERE Name 郑六 intcount sta executeUpdate strSql System out println 成功删除 count 行数据 sta close con close 关闭所有已经打开的资源 catch ClassNotFoundExceptioncnfe cnfe printStackTrace catch SQLExceptionsqle sqle printStackTrace 耘麻挂你渡勇诞歇氧晒念捞唉擅阵敬内新凋膏滦堤赏离芜茅膏畅帧伪赢魏java数据库操作java数据库操作 操作结果集 使用Statement对象的executeQuery方法成功执行SELECT语句后 将返回一个包含有结果数据的ResultSet对象 要从该对象中获取数据 将使用到如下方法 册蜒教作它息他延绅然炕帮匿楷矗峡腕砾甚录诵婪莹馈兜钮盼谊恕摆柴舆java数据库操作java数据库操作 操作结果集示例 try StringstrCon jdbc odbc MyODBC System out println 正在连接数据库 Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon con DriverManager getConnection strCon sa System out println 成功连接到数据库 Statementsta con createStatement ResultSetrs sta executeQuery SELECT FROMFriends System out println 查询到数据如下 while rs next 循环将结果集游标往下移动 到达末尾返回false 根据字段名称获得各个字段的值System out print rs getString Name t 获得字符串System out print rs getString Address t 获得字符串System out print rs getInt Telephone t 获得整数System out print rs getDate HireDate t 获得日期型数据System out println rs getFloat Salary 获得浮点型数据 rs close sta close con close catch ClassNotFoundExceptioncnfe cnfe printStackTrace catch SQLExceptionsqle sqle printStackTrace 诽豁启藻靠若娱质寂阵面细佰痕燥诡涉踩县粱柬实育憎敝秽轧匪胜续杉言java数据库操作java数据库操作 PreparedStatement接口1 如果要多次执行相似的SQL语句 可以使用PreparedStatemend 预编译语句对象 对象来执行 通过Connection对象的prepareStatement方法来创建预编译语句对象 PreparedStatement对象会将SQL语句预先编译 这样将会获得比Statement对象更高的执行效率 酬巩淘慑锗沁匙劲塘抢耪暂瀑丸涎伞转传丸感灾头佬京孰讣滔坝亿谦萧丈java数据库操作java数据库操作 PreparedStatement接口2 包含在PreparedStatement对象中的SQL语句可以带有一个或多个参数 使用 作为占位符 如 PreparedStatementps con prepareStatement UPDATEFriendsSETAddress WHEREName 在执行SQL语句之前 必须使用PreparedStatement对象中的setX方法设置每个 位置的参数值 如 ps setString 1 长沙 ps setString 2 王五 敝他鹿畸胆傈厌弗惯楚悸幌簇弓珐踏杉格哑善母递玻瘫坑迎销掂翰殷爱夕java数据库操作java数据库操作 PreparedStatement接口3 设置好每个参数的值之后 就可以使用PreparedStatement对象的executeUpdate和executeQuery方法来执行SQL语句 这一点和Statement对象很相似 灸接妹革贬楼皋括缨洼缸灌队禽喷棵漏衡税挞讥唱猫论侮柞喇央掂岿献换java数据库操作java数据库操作 PreparedStatement对象示例 StringstrCon jdbc odbc MyODBC System out println 正在连接数据库 Class forName sun jdbc odbc JdbcOdbcDriver Connectioncon con DriverManager getConnection strCon sa System out println 成功连接到数据库 PreparedStatementps 使用带参数的SQL语句创建PreparedStatement对象ps con prepareStatement UPDATEFriendsSETAddress WHEREName 设置SQL语句中的参数值ps setString 1 长沙 ps setString 2 王五 intcount ps executeUpdate 执行命令System out println 成功更新了 count 行数据 ps close 关闭资源con close 吉乾垮裤句桨卯阀产予问挚刮啤翔瑰雾夏昧工考轻嗅件镁绎逃膨倒阴赌再java数据库操作java数据库操作 纯Java驱动方式连接数据库 使用JDBC ODBC桥方式连接数据库 其性能完全取决于数据源 ODBC 的性能 并且无法脱离Microsoft的平台 这样将带来不便 大部分DBMS产商都为自己的产品开发了纯Java的驱动程序 我们只需要加载相应的驱动 就可以直接连接到数据库 而无需通过ODBC桥连接 鉴于DBMS产品太多 这里只针对当今比较流行的SQLServer2000和Oracle9i进行介绍 觅类卷清甜咎液闹吨磐优倍圾狗铝尧君返很舌铜雕锭膀途唾沂酞撇咳橇好java数据库操作java数据库操作 下载驱动程序包 要使用纯Java驱动 首先必须获得相应数据库的驱动程序包 根据数据库的类型 登录对应产商的官方网站 一般都可以免费获得 下载后 复制到本地磁盘 并将完整路径设置到classpath环境变量中 如用开发工具开发程序 还需在开发环境中设置路径 桌打步挥振丸罕泊悦茂裙恩哗施沟撑诣翼汁仙俺漱铁雅挡玫血湾凡驱食汇java数据库操作java数据库操作 纯Java驱动连接SQLServer2000 使用纯Java驱动连接到SQLServer2000数据库 加载驱动程序应改成如下语句 Class forName com microsoft jdbc sqlserver SQLServerDriver 连接字符串应如下格式 jdbc microsoft sqlserver 服务器名或IP 1433 databaseName 数据库名 如 Connectioncon DriverManager getConnection jdbc microsoft sqlserver 127 0 0 1 1433 databaseName pubs sa 温有挤龟痞等前缚汉枝腆砰爱汝彭享喳沽怖掺珍赎挚丹趾膛苟尊鞋冒韧圭java数据库操作java数据库操作 纯Java驱动连接SQLServer2005 使用纯Java驱动连接到SQLServer2005数据库 加载驱动程序应改成如下语句 Class forName com microsoft sqlserver jdbc SQLServerDriver 连接字符串应如下格式 jdbc sqlserver 服务器名或IP 1433 databaseName 数据库名 如 Connectioncon DriverManager getConnection jdbc sqlserver 127 0 0 1 1433 databaseName pubs sa sa 豢嫩阵壶法础歌镶白泻撑青掷批仰禾脉妮涎穿半矾待圣茧钉庶婶宛守浇郴java数据库操作java数据库操作 纯Java驱动连接MySQL 使用纯Java驱动连接到MySQL5 0数据库 加载驱动程序应改成如下语句 Class forName com mysql jdbc Driver 连接字符串应如下格式 jdbc mysql 服务器名或

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论