JDBC学习笔记1.doc
上传人:sy****28 上传时间:2024-09-10 格式:DOC 页数:3 大小:69KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

JDBC学习笔记1.doc

JDBC学习笔记1.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

HYPERLINK"http://blog.csdn.net/chelkim/article/details/1338886"JDBC学习笔记(一)概述一.概述JDBCAPI是一类JavaAPI,用于访问几乎任何类型的表格式数据(JDBC是一个商标名,但很多人都误解为"JavaDataBaseConnectivity"的缩写)JDBCAPI由一组Java编程语言编写的类和接口组成,这些类和接口为数据库开发人员提供标准API,从而使得完全使用Java语言来编写具有业界标准的数据库程序成为可能.二.JDBCAPI的功能基于JDBC技术的驱动程序("JDBC驱动程序")可以完成三件事情:(1)与数据源建立连接;(2)将查询语句和更新语句发送到数据源;(3)处理结果集.下面的代码段给出了关于三个步聚的简单例子://建立连接Connectioncon=DriverManager.getConnection("jdbc:derby:MyDataBase","userName","password");//创建语句Statementstmt=con.createStatement();//发送SQL语句到数据源,并返回结果集ResultSetrs=stmt.executQuery("SELECTa,b,cFROMTABEL");//处理结果while(rs.next()){intx=rs.getInt("a");Strings=rs.getString("b");floatf=rs.getFloat("c");}正如上面的代码,JDBCAPI被用来直接调用SQL命令.另外,因为JDBCAPI比较全面,且足够强大,因而可以作为其他API的基础,有许多可供替换的API是在JDBCAPI之上开发的,例如以下API:(1)Java嵌入式SQL包括Oracle,IBM,Sun和其他公司在内的联盟已经定义了SQLJ规范,为Java编程提供嵌入式SQL.(2)持久Java对象技术有两种Java技术使Java对象能够映射到关系数据库:1.JavaDataObjects(JDO)2.EnterpriseJavaBeans---容器管理的持久性(ContainerManagedPersistence,CMP)和bean管理的持久性(BeanManagedPersistence,BMP)通过使用这些技术位于数据库存储器(datastore)中的数据可以映射成Java对象,而Java对象可以持久地存储在数据存储器中.三.JDBC与ODBC的比较在开发JDBCAPI之前,Microsoft的ODBC(OpenDataBaseConnectivty)API是用得最广泛的关系数据库访问编程接口.那为什么不在Java编程语言中直接使用ODBC呢?答案是可以在Java编程语言中使用ODBC,但不是直接的,而是通过使用JDBC-ODBC桥(Bridge)并在JDBCAPI的帮助下,才能达到最佳实现.(1)ODBC不适合于在Java编程语言中直接使用,因为ODBC使用C接口,在应用程序的安全,实现,健壮性和可移植性方面,从Java中调用本地的C代码会有许多弊端.(2)将ODBCCAPI直接转换成JavaAPI并不是理想的方法,例如,Java无指针,而ODBC广泛使用指针.(3)需要使用像JDBC这样的JavaAPI,以便支持"纯Java"解决方案(即只使用JavaAPI的解决方案)当使用ODBC时,ODBC驱动程序管理器和驱动程序必须手动安装在每一台客户机上,然而,当完全使用Java编写JDBC驱动程序时,JDBC代码在所有Java平台上都是可自动安装的,同时是可移植和安全的.四.两层模型与三层模型JDBCAPI支持两层数据库访问模型,又支持三层数据库访问模型.两层模型:在两层模型中,Javaapplet或Java应用程序直接与数据源通信.三层模型:在三层模型中,命令被发送到服务的中间层,中间层再将命令发送给数据源,数据源处理这些命令并将结果返回给中间层,接着将结果发送给用户.JDBCAPI在三层体系结构中间层的使用越来越广泛.使JDBC成为服务器方技术的一结特性是:JDBC连接池,分布式事务和断开连接的行集.当然JDBCAPI的作用是从中间层(以Java语言编程语言编写)方问数据源.