T14 JDBC数据库访问技术

上传人:我*** 文档编号:134469816 上传时间:2020-06-05 格式:PPT 页数:31 大小:708KB
返回 下载 相关 举报
T14 JDBC数据库访问技术_第1页
第1页 / 共31页
T14 JDBC数据库访问技术_第2页
第2页 / 共31页
T14 JDBC数据库访问技术_第3页
第3页 / 共31页
T14 JDBC数据库访问技术_第4页
第4页 / 共31页
T14 JDBC数据库访问技术_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《T14 JDBC数据库访问技术》由会员分享,可在线阅读,更多相关《T14 JDBC数据库访问技术(31页珍藏版)》请在金锄头文库上搜索。

1、JDBC数据库访问技术 目标 JDBC技术概述JDBC技术接口介绍DriverManager类Connection接口Statment接口ResultSet接口ResultSetMetaData接口项目实践 JDBC技术概述 1996年夏 Sun公司推出了java数据库连接JDBC工具包的第一个版本 JDBC工具包使得编程人员可以进行结构化查询语言 即sql 连接到一个数据库 对数据库进行查询 或者对数据库进行更新 JDBC技术是J2EE构架的重要组部分 目前JDBC已经发展到4 0版本 JDBC技术概述 JDBC是标准化地将关系型数据库操作和java程序集成到一起 可以直接对数据库进行访问和

2、修改的API JDBC最终还是应用到ODBC的技术 但它却很好的封装了ODBC 我们可以很容易通过JDBCAPI来进行数据库访问控制 JDBC现在可以连接的数据库包括 Oracle SqlServer MySQL DB2 Informix以及Sybase等 JDBC技术概述 由于JDBC对多种数据库的支持 使得人们在建立客户 服务器应用程序时 通常把Java作为编程语言 把任何一种浏览器作为应用程序的友好界面 把Internet或Intranet作为网络主干 来访问有关的后台数据库 c s的javaweb应用程序 JDBC技术概述 简单的说JDBC就是完成的三件事同一个数据库建立连接 向数据库

3、发送SQL语句 处理数据库返回的结果 JDBC 工作原理 JDBC ODBC桥加ODBC驱动程序将JDBC转换成ODBC 并使用一个ODBC驱动程序与数据库连接 JDBC驱动程序的分类 1 你所撰写的应用程序 JDBC ODBC桥连接器 ODBC驱动程序 数据库 Sql语句 结果集 缺点 性能比较低 Sun建议 jdbc odbc桥连接器最好只是用来测试 不建议使用在web应用开发中 例如 连接小型的MicrosoftAccess之类的数据库可以使用 本地API驱动程序部分使用java编程语言编写和部分使用本机代码编写的驱动程序 通过该驱动程序使你的应用程序和数据库进行连接 JDBC驱动程序的

4、分类 2 你所撰写的应用程序 JDBC驱动程序 本地代码编写的驱动程序 数据库 Sql语句 结果集 缺点 移植性不好 当使用该类型的驱动程序时 除了安装java库 还需要某个特定平台的代码 例如 C C C C 负责与数据库做沟通 然后再通过java自己的jdbc与应用程序沟通 通过特殊沟通方式进行数据库访问 JDBC通过网络的纯Java驱动程序该驱动程序是一个3 Tier 层 的解决方案 驱动程序将应用程序中的操作通过jdbc转换成指令发送到一个中介软件 再通过该中介软件将操作指令发送到DBMS中 得到的结果集也是通过该中介软件传回应用程序的 JDBC驱动程序的分类 3 优点 简化了它的部署

5、过程 跨数据库特点 这个纯java驱动程序使用跨数据库协议 可根据使用的不同数据库将请求进行转换 那么应用程序就可以独立实际的数据库而运行 通过特殊沟通方式进行数据库访问 纯Java驱动程序这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议 应用程序可以直接和数据库进行沟通 JDBC驱动程序的分类 4 你所撰写的应用程序 纯java驱动程序 数据库 Sql语句 结果集 优点 性能最好 访问速度最快 JDBC编程基础 使用JDBC的类来进行编程主要使用到JDBC的核心类来建立对象 如果有需要的话 再按照继承性来扩展这些对象 用于JDBC编程的类都放在java sql和javax

6、sql包中 java sql 提供用于访问和处理存储在数据源中数据的API 包含不同驱动进行数据库访问方法的框架设计 javax sql 提供在程序中访问和处理数据源的API 该包中类实现了java sql包 JDBC具体的实现步骤通过驱动程序管理器获取连接接口 注册一个驱动 建立一个到数据库的连接Connection 创建一个陈述对象Statement 通过陈述对象执行sql语句 并返回结果集ResultSet 处理该结果集 关闭Statement 关闭连接接口 JDBC的用处以及实现步骤 例子 TestDB java DriverManager类是JDBC的管理层 作用于用户和驱动程序之间

7、 它跟踪可用的驱动序 并在数据库和相应驱动程序之间建立连接 DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务 DriverManager类包含一列的驱动程序类 它们已通过调用方法DriverManager registerDriver 对自己进行了注册 所以我们可以直接加载驱动程序 然后让驱动程序自己去注册 加载及注册JDBC驱动程序 1 Class forName 提供两种方式进行注册 Class forName com mysql jdbc Driver 加载成功后会生成一个Driver对象 然后调用DriverManager registerDriv

8、er 自动注册该对象加载失败 Classnotfound 说明无法找到JDBC驱动程序Class forName com mysql jdbc Driver newInstance 当碰到 Drivernotfound 错误的时候 也就是说注册JDBC驱动不成功的时候用这种方法 主要是因为JDBC规范和某些JVM产生问题 加载及注册JDBC驱动程序 2 创建数据库连接 1 在成功注册后 就要用java sql DriverManager类的getConnection 方法来创建一个连接 创建Connection对象的两种方法 staticConnectiongetConnection Stri

9、ngurl 尝试建立一个和给定的URL的数据库连接 staticConnectiongetConnection Stringurl Stringuser Stringpassword 连接到指定URL的数据库 使用用户名为user 密码为password JDBCURL的标准语法 URL中三个部分 分别是协议 子协议和数据来源协议 JDBC表示协议 它是唯一的 JDBC只有这一种协议 子协议 识别不同的数据库驱动程序 数据来源 用于连接的具体数据库名字 主要通讯协议 次要通讯协议 即驱动程序的名字 数据来源 创建数据库连接 2 URL例子 以JDBC ODBC桥连接本地Access数据库myd

10、bjdbc odbc mydb user name 创建数据库连接 3 close 该方法为关闭数据库的连接 在使用完连接后必须关闭 否则连接会保持到超时为止 isclose 判断连接是否关闭 setAutoCommit booleanautoCommit 设置操作是否自动提交到数据库 默认情况下是true commit 提交对数据库的更改 是更改生效 注意 这个方法只有调用了setAutoCommit false 方法后才有效 否则对数据库的更改会自动提交到数据库 rollback 回滚当前执行的操作 和commit 一样只有调用了setAutoCommit false 才可以使用 Stat

11、ementcreateStatement 创建一个Statement Statement用于执行SQL语句 getMetaData 返回数据库元数据 创建数据库连接 connection对象提供的其他方法 陈述对象 java sql Statement提供在基层连接上运行SQL语句 如添加 删除 修改 查询 并且返回结果 可通过调用Connection对象的createStatement 方法来建立一个新的陈述对象 Statementstat conn createStatement stat execute createteableGreetings NameCHAR 20 在数据库中创建一

12、个新的表stat execute insertintoGreetingsvalues TestData 在当前数据库表中插入一条新纪录ResultSetresult stat executeQuery select fromGreetings 从当前数据库表中查询符合要求的纪录 booleanexecute Stringsql 执行sql语句返回一个结果集则返回true 否则返回falseResultSetexecuteQuery Stringsql 返回查询结果 通过ResultSet对象来取得具体的值intexecuteUpdate Stringsql 执行如createtable dro

13、ptable altertable等的sqlddl语句执行返回结果为零 执行如insert delete update等的sqldml语句 执行该方法时返回值都是整数 代表更新的数据数voidaddBatch Stringsql 增加批处理语句 int executeBatch 执行批处理语句 voidclearBatch 清除批处理语句 陈述对象 Statement提供的其他方法 ResultSet 在Statement执行SQL语句时 有时会返回ResultSet结果集可将结果集看成一张二维表 通过一个可控制的 可以指向任意一条记录的指针 游标 来任意访问我们希望的纪录行 一个结果集对象中

14、只包含一个游标 并可通过提供的方法可以访问结果的不同字段 例子while rs null ResultSet的随机访问 从JDBC2 0开始在得到statement对象时增加了两个参数设置 通过这些参数的设置可以决定查询结果集ResultSet是否可以上下自由移动 是只读还是可读写的 通过createStatement intresultSetType intresultSetConcurrency throwsSQLException的参数来设置 createStatement inttype intconcurrency 的参数说明 type参数设置ResultSet对象中的指针是否能够上

15、下自由移动 可选值为 TYPE FORWARD ONLY 只能使用next方法向下移动指针 TYPE SCROLL SENSITIVE 能可上下移动 且能得到改临时修改后的数据库值 TYPE SCROLL INSENSITIVE 能可上下移动 只能得到当前查询的值 concurrency参数指定ResultSet对象的读写属性 CONCUR READ ONLY ResultSet对象对结果集只能读 CONCUR UPDATABLE ResultSet对象可以直接执行数据库的新增 修改和移除的操作 ResultSet的随机访问 booleannext 用于使结果集中的当前行向前移动1行 到达最后

16、一行后 返回false 且必须调用该方法才能转到新的一行 XXXgetXXX intcolumnNumber XXXgetXXX StringcolumnName XXX代表一个类型 如String int date等用于反户带有列索引columnNumebr或列名字的转换成特定类型的那个列的值 并不是所有的类型转换都是合法的 voidclose 用于立即关闭当前的结果集 ResultSet 例子 Dao java java sql ResultSet提供了检索不同类型字段的方法 getString 获得在数据库里是varchar char等数据类型的对象 getFloat 获得在数据库里是Float数据类型的对象 getDouble 获得在数据库里是DoublePrecision数据类型的对象 getDate 获得在数据库里是Date数据类型的对象 getBoolean 获得在数据库里是Boolean数据类型的对象 getObject 在SQL中无对应类型 可以获得序列化对象等 getBlob 获得在数据库里是Blob 二进制大型对象 数据类型的对象 getClob 获得在数据库里是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号