据库的JDBC驱动程序,Class.forName()即是在执行此项工作。建立数据库连接的第一步骤就是将JDBC驱动程序的类载入至JVM(Java VirtualL Machine)中,本系统中利用java.lang.Class类内的forName()静态函数依据指定的类名称,将JDBC驱动程序载入进来。完成载入驱动程序的步骤后,必须使用java.sal.DriverManager类所提供的getConnection()静态函数,取得与数据库间的连接对象。此连接对象的类类型为java.sal.Connection,必须通过它才能将SQL指令传递给数据库,而执行结果也需要通过连接对象来取得。当取得连接对象后,还必须取得Statement对象才能对数据库执行SQL指令。Statement主要实现两个功能:执行SQL语句以及取得执行结果。在java.sql.Statement的sql对象中执行查询或修改命令的函数后传回的是一个ResultSet 对象,这个对象提供了一个存取SQL执行结果的管道,以便通过它将表格数据从数据库中取出。每个Statement对象只能产生一个ResultSet 对象。
数据库连接如图5.3所示:
建立JDBC--ODBC桥建立是否成功否出错处理是建立数据库连接执行SQL操作SQL是否出错是否返回错误信息返回执行结果 图5.3 数据库的连接处理
数据库的连接处理具体实现如下:
//建立JDBC——ODBC桥
sun.jdbc.odbc.JdbcOdbcDriver; //桥建立不成功时的错误处理
catch(ClassNotFoundException event){}
//建立与数据库的连接,并发送SQL查询语句,将结果保存到rs对象中 Con=建立JDBC——ODBC桥 Sql=SQL查询语句 执行查询 Rs=返回结果 //SQL出错处理
catch(SQLException e1){}
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。
Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。
JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库企业也可以用
JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。
MIS 管理员们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。
简单地说,JDBC 可做三件事:与数据库建立连接、发送 SQL 语句并处理结果。下列代码段给出了以上三步的基本示例:
Connection con = DriverManager.getConnection(\:odbc:wombat\,\, \);
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(\, b, c FROM Table1\); while (rs.next()) { int x = rs.getInt(\); String s = rs.getString(\); float f = rs.getFloat(\); }
上述代码对基于JDBC的数据库访问做了经典的总结。
3、概要设计
3.1 基本思路
充分利用现有网络的软硬件资源,应用WEB的开放式技术,建立远程教学平
台的基本目标就是为网络教学提供一种交互、开放、易用的环境,为开发应用网上教学资源提供丰富高效的技术手段及其软件工具。
围绕实现这个目标,应用平台的开发设计必须突出坚持教学内容与技术手段相结合以内容为主的主体性要求;既要立足当今先进技术,又要考虑未来技术发展的前瞻性要求;最大限度地适应于各种软硬件环境,兼顾不同学科的教学特点,适用于不同水平用户群的通用性要求;以尽可能低廉的投入而获得尽可能高效的教学效益的经济性要求。目前的网络教学系统,一般是在局域网上建立WEB教学站点,教学内容以WEB页面的课件形式出现在站点中。
3.2 基本思想
在总体结构上采用三层B/S结构:各类教学资源在服务器一端,采取数据库(例如:SQL Server2000)统一存放和组织,用户在客户机一端,无须任何配置工作,只须使用浏览器向WEB服务器代理提出访问请求,服务器审核后通过中间控件与后台数据库链接,把请求服务的教学内容以WEB页面形式通过浏览器反馈给用户。
一个完整的基于WEB的远程教学平台应该是专门为基于双向通信网络的教学而提供全面服务的软件系统。
3.3 系统功能概述
本系统是一套基于Internet的教学交互平台。通过该系统,教师可以方便的管理学生、管理课程、上传资料等操作,学生可以方便地学习、互动交流、下载资料。系统提供完善的用户管理及其他管理功能;具有可靠的安全性,各级用户权限严格限制,每个用户只能访问他应该访问的内容;用户通过统一的Web界面访问该系统,将所有功能集成在Web中。
为了方便用户的操作,减少不必要的重复学习时间,用户只须掌握对浏览器如Netscape、Internet Explorer的使用,便可以使用本系统。
功能模块图如下:
学生会有管理 远程教学管理 课程信息管理 管理员 网络教学平台 学生 学习资料管理 密码信息管理 系统用户管理 资料管理 密码管理 下载资料 在线学习 在线交流 查询课程