首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >JDBC资料辅导(1)

JDBC资料辅导(1)

作者头像
紫风
发布2025-10-14 15:54:12
发布2025-10-14 15:54:12
1030
举报

一、JDBC原理概述

1,JDBC是一套协议,是JAVA开发人员和数据库厂商达成的协议,也就是由Sun定义一组接口,由数据库厂商来实现,    并规定了JAVA开发人员访问数据库所使用的方法的掉用规范。

2,JDBC的实现是由数据库厂商提供,以驱动程序形式提供。

3,JDBC在使用前要先加载驱动。   JDBC对于使用者要有一致性,对不同的数据库其使用方法都是相同的。

4、driver开发必须要实现Driver接口。      JDBC驱动程序的类型

  目前比较常见的JDBC驱动程序可分为以下四个种类:

  (1)JDBC-ODBC桥加ODBC驱动程序

  JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。     注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。     因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。

  (2)本地API

  这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。     注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。

  (3)JDBC网络纯Java驱动程序

  这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。     这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。     通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。     为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。     几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。

  (4)本地协议纯Java驱动程序

  这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。     这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。     由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。

  据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。     第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。     对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。     第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的appletapplet来下载该驱动程序)。 5、JDBC的API

java.sql包和javax.sql包 DriverManager类(驱动管理器),它可以创建连接,它本身就是一个创建Connection的工厂(Factory)。 Driver接口  入口 Connection接口,会根据不同的驱动产生不同的连接 Statement接口,发送sql语句 ResultSet接口(结果集),是用来接收select语句返回的查寻结果的。其实质类似于集合。 

以上的资源都需要释放,释放的是数据库的资源

JDBC应用步骤 1,注册加载一个driver驱动 2,创建数据库连接(Connection) 3,创建一个Statement(发送sql) 4,执行sql语句 5,处理sql结果(select语句) 6,关闭Statement 7,关闭连接Connection。

注意:6,7两个步骤势必须要做的,因为这些资源是不会自动释放的,必须要自己关闭

访问Oracle的数据库的驱动名字叫o加到环境变量PATH中。 jdbc14.jar,这个jar文件中出访的驱动程序的.class文件 要使用这个驱动程序,要先将他 一,注册加载驱动driver,也就是强制类加载     1、Class.forName(driver); driver = "oracle.jdbc.driver.OracleDriver";

    2、Driver d=new Driver类();        Driver d = new oracle.jdbc.driver.OracleDriver();        DriverManager.registerDriver(d);     3、编译时利用虚拟机的系统属性        java -Djdbc.drivers=oracle.jdbc.driver.OracleDriver 类名(文件)      

    Oracle的Driver的全名oracle.jdbc.driver.OracleDriver     mysql的Driver的全名com.mysql.jdbc.Driver     SQLServer的Driver的全名com.microsoft.jdbc.sqlserver.SQLServerDriver

二,创建连接 DriverManager.getConnection(String url,String username,String password);     Connection连接是通过DriverManager的静态方法getConnection(.....)来得到的,这个方法的实质是把参数传到实际的Driver中的connect()方法中来获得数据库连接的。     Oracle的URL值是由连接数据库的协议和数据库的IP地址及端口号还有要连接的库名(DatebaseName)     Oracle URL的格式     jdbc:oracle:thin:(协议)@XXX.XXX.X.XXX:XXXX(IP地址及端口号):XXXXXXX(所使用的库名)     例:jdbc:oracle:thin:@192.168.0.39:1521:TARENADB     MySql URL的写法     例: jdbc:mysql://192.168.8.21:3306/test     SQLServer URL的写法     例:jdbc:microsoft:sqlserver://192.168.8.21:1433

java -Djdbc.drivers=驱动全名 类名

    使用系统属性名,加载驱动 -D表示为系统属性赋值     使用Connection对象获得一个Statement,Statement中的executeQuery(String sql) 方法可以使用select语句查询,并且返回一个结果集 ResultSet通过遍历这个结果集,     可以获得select语句的查寻结果,ResultSet的next()方法会操作一个游标从第一条记录的前边开始读取,直到最后一条记录。     executeUpdate(String sql) 方法用于执行DDL和DML语句,可以update,delete操作。 注意:要按先ResultSet结果集,后Statement,最后Connection的顺序关闭资源,因为Statement和ResultSet是需要连接是才可以使用的,       所以在使用结束之后有可能起他的Statement还需要连接,所以不能现关闭Connection。 

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2008-12-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档