Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

Java入门(13) More Java!

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

  要想成为JDBC方面的专家,或想更深入地研究它们,请下载并刻苦研读它们。

  自测练习

  1) Java语言提供的访问、操作数据库的统一接口称为__________。

  a.ODBC b.JDBC c.DBAP

  2) Java语言中提供的这个数据库接口包含在__________包中。

  a.java.odbc b.java.jdbc c.java.sql d.java.dbap

  3) Java数据库程序通常是在网络上运行的,那么JDBC类一般位于_________。

  a.客户端 b.服务器端 c.两端都有其中一部分

  4) JDBC可以通过____________来使用数据库的ODBC驱动程序。

  a.jdbcodbc.dll b.ODBC模拟器 c.没有条件,可以直接使用

  5) ODBC与JDBC有一个共同的设计基础,它是______________。

  a.SQL标准 b.CLI

  6)__________发布时间更早。

  a.JDBC b.ODBC c.DBAP

  7)使用ODBC访问数据库,数据库只能够在主机上。__________

  a.对 b.不对

  8)在ODBC模型中,最终是通过________来操作数据库的。

  a.ODBC接口 b.驱动程序管理器 c.数据库的ODBC驱动程序

  9)而在JDBC模型中,在应用程序中,我们是通过_________来使用数据库的。

  a.JDBC-ODBC桥接器 b.JDBC接口 c.ODBC驱动程序

  练习答案

  1)b 当然是JDBC,Java DataBase Connectivity。另外,并不存在一种名为DBAP的数据库接口API。

  2)c 首先不可能会是java.odbc,也不会是java.dbap,也许你最想选择的可能会是java.jdbc,可是Java类的命名者却使用了数据库圣经的名字(SQL)命名了。

  3)a 通常是在客户端。

  4)a 使用JDBC-ODBC的转换器,这个转换器的文件名就是jdbc-odbc.dll。

  5)b 这两个数据库接口使用了同一个设计基础,X/Open SQL Call Level Interface,它简称为CLI。

  6)b ODBC比JDBC早很长一段时间。

  7)b 当然不对,ODBC也是允许访问远程服务器上的数据库的。

  8)c 是通过真正能够了解数据库结构的,由数据库厂商提供的,专门的ODBC驱动程序来完成的。

  9)b 对于应用程序而言,它只需直接调用提供的接口就可以了,无须去关心具体的数据库实现。

  13.2 用JDBC连接数据库

  传授新知

  所有的JDBC类和方法都包含在java.sql包中:

  类别 类

  驱动程序 java.sql.Driver


java.sql.DriverManager
java.sql.DrivePropertyInfo

  连接 java.sql.Connection

  语句 java.sql.Statement


java.sql.PreparedStatement
java.sql.CallableStatement

  结果集 java.sql.ResultSet

  错误/警告 java.sql..SQLException


java.sql.SQLWarning

  元数据 java.sql.DatabaseMetaData


java.sql.ResultSetMetaData

  日期/时间 java.sql.Date


java.sql.Time
java.sql.Timestamp

  其它 java.sql.Types


java.sql.DataTruncation

  表13-1 JDBC类一览表

  在使用JDBC时,每一个驱动程序要被加载之前,都要使用DriverManager进行注册。当需要打开一个连接时,DriverManager根据JDBC的URL选择相应的驱动程序。

  同样的,JDBC也体现了Java这一网络语言的特点,它也是使用URL进行识别一个数据库的。它的语法格式是:

  jdbc:<子协议>:<与DBMS/Protocol相关的子名字>

  JDBC的URL分三个部分组成:

  1)指示部分:jdbc。请大家回忆一下,一个常见的WEB页面的URL是以什么开头的?对,http://,这个指示部分用来说明这个URL是什么类别的。

  2)子协议部分,这个部分用来指出JDBC的子协议,如odbc;

  3)子名字:数据源的名字,如果数据库是在网络上的,那么就用URL//hostname:port//来表示。

  例如:jdbc:odbc:;User=<用户名>;PW=<口令>

  使用JDBC的整个流程如下图所示:

13-5

  图13-5 JDBC调用流程图

  正如上图所示,使用JDBC访问数据库需要经过以下几个步骤:

  1) 首先,程序调用getConnection()方法,获得一个Connection对象;

  2) 然后程序创建一个Statement对象并准备一个SQL语句;这个SQL语句可以是:

  a. 被立即执行的语句:Statement对象;

  b.被编译的语句:PreparedStatement对象;

  c.存储过程的调用:CallableStatement对象。

  3) 接着我们就可以执行这个语句(如executeQuery( )、execute( ))等,将得到一个存储结果的ResultSet对象。

  注意:

  也有一些语句是完成一些事务工作,如executeUpdate(),更新。它们将不会返回ResultSet对象,因为它们并没有结果。

  4) 最后,我们就可以使用类似next()等方法对返回的ResultSet对象进行相应的处理。



 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Java入门(11) 让程序更动人   下一篇:JSP 技术白皮书

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号