《jAVA2程序设计基础第十三章.ppt》由会员分享,可在线阅读,更多相关《jAVA2程序设计基础第十三章.ppt(8页珍藏版)》请在三一办公上搜索。
1、第13章 数据库应用,教学提示:访问数据库是当前几乎所有应用都会进行的操作,在任何一种编程语言中都是尤为重要的组成部分。本章将介绍Java访问数据库的机制JDBC。本章不对SQL语句进行介绍,在这里假设读者已经掌握基本的SQL语句。学完本章之后,读者将有能力构建一个拥有数据库管理系统的应用。,教学目标:掌握连接数据库,对数据库进行查询和更新的操作。通过上机实践,掌握数据库操作的综合运用。,13.1 JDBC简介,JDBC(Java Database Connectivity)是Java的一个标准SQL数据库访问接口,它为数据库应用开发人员、数据库前台工具开发人员提供一种标准的应用程序设计接口。
2、开发人员只需使用JDBC提供的类,调用这些类的方法,即可对数据库进行访问,而无需关心所使用的具体是什么数据库系统。也就是说,开发人员可以很方便地将 SQL语句传送给几乎任何一种数据库去执行并返回结果,而不必写一段代码访问 Sybase,写另一段代码访问 Oracle,再写一段代码访问SQL Server。,13.2 建立与数据库系统的连接,当前的主流数据库系统有:Oracle,Sybase,Informix,InterBase,IBM DB2,Microsoft SQL Server,Borland DataStore和MySQL等,它们基本的共同特点是支持大规模数据的存储与访问,功能强大,是
3、那些小型数据库系统(如Microsoft Access)所不可比拟的。,建立与Oracle的连接,建立与Microsoft SQL Server的连接,13.2.1 建立与Oracle的连接,若Oracle的版本为,则在Oracle的安装目录下的Ora81jdbclib(其中Ora81目录随Oracle版本的不同而不同)子目录下可以找到Oracle版本自带的JDBC驱动程序文件,但这个驱动程序是针对Oracle版本面世时的JDK版本的,如中自带的驱动程序就是针对JDK 1.2的,不一定适合于所有读者的机器。某些读者的机器中的JDK可能是1.3或者1.4版本的,此时就需要下载相应的JDBC驱动程
4、序。读者可以在以下地址找到Oracle的纯Java的JDBC驱动程序的下载链接:该页面列出了多个JDBC驱动程序,读者可以根据自己使用的JDK的版本,选择支持自己所用Oracle版本的JDBC驱动程序,一般情况下,新版本的驱动程序能够支持较旧的Oracle版本。,返回,13.2.2 建立与Microsoft SQL Server的连接,读者可以在以下地址下载 Microsoft SQL Server 2000 的纯 Java 的JDBC驱动程序:。由于网站更新频繁,不能保证该网址一定可用,请读者访问Microsoft公司的官方网站查找最新的SQL Server 2000的JDBC驱动程序。下载
5、完毕后双击setup.exe文件,一路单击next按钮即可完成安装。其默认的安装路径为C:Program FilesMicrosoft SQL Server 2000 Driver for JDBC,在其子目录lib下的3个jar文件就是SQL Server 2000的JDBC驱动程序的核心文件,它们是msbase.jar、mssqlserver.jar和msutil.jar,将这3个文件的完整路径按照小节介绍的方法写入环境变量中即可。,返回,13.3 访问数据库,访问数据库是数据库应用中的重点,也是数据库应用最基本的目的。而访问数据库最基本的问题有两个,一是如何向数据库提交SQL语句以便数据
6、库执行;二是如何操作从数据库返回的结果。JDBC通过两个类Statement和ResultSet来完成这两项工作。,13.3.2 ResultSet,Statement,13.3.1 Statement,用于向数据库提交SQL语句以便数据库执行的类总共有3个,它们分别是 Statement、PreparedStatement 和 CallableStatement,其中PreparedStatement 继承自 Statement,而 CallableStatement 继承自PreparedStatement。Statement 用于向数据库提交简单的不带参数的SQL语句,数据库对于Stat
7、ement提交的每一条 SQL语句都会进行一次编译之后再执行,对于被反复执行的SQL语句,这样做显然效率较低。PreparedStatement用于向数据库提交带参数(也可以不带)的预编译SQL语句,PreparedStatement会对提交的SQL语句进行一次预编译,将预编译之后的结果提交给数据库,数据库对于PreparedStatement提交的SQL语句,若发现其在近期已执行过,则不会再进行编译,而是直接执行,从而大大提高了性能。CallableStatement用于向数据库提交执行存储过程的请求。,返回,13.4 上 机 指 导,在本次上机指导中,将给出一个数据库应用的综合实例,针对前面几节中的内容进行实际上机练习,目的是让读者了解如何构建一个完整的数据库应用,并进一步熟悉连接并访问数据库的相关操作。通过理解该例,读者将有能力完成实际的数据库应用。,