第9章访 问数 据库

上传人:w****i 文档编号:91068320 上传时间:2019-06-21 格式:PPT 页数:53 大小:884.50KB
返回 下载 相关 举报
第9章访 问数 据库_第1页
第1页 / 共53页
第9章访 问数 据库_第2页
第2页 / 共53页
第9章访 问数 据库_第3页
第3页 / 共53页
第9章访 问数 据库_第4页
第4页 / 共53页
第9章访 问数 据库_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《第9章访 问数 据库》由会员分享,可在线阅读,更多相关《第9章访 问数 据库(53页珍藏版)》请在金锄头文库上搜索。

1、第9章 访问数据库,9.1 JDBC 简介 9.2 建立数据库连接 9.3 执行SQL语句 9.4 使用Prepared Statement 9.5 事务处理 9.6 编写数据库工具类 9.7 一个实例,9.1 JDBC 简介-1,数据库的应用目前已经非常普遍,在应用程序的开发过程中,经常会涉及到访问数据库。Java语言为访问数据库提供了方便的技术。 Java使用JDBC(Java Database Connectivity)技术进行数据库的访问,如图9.1.1所示。使用JDBC技术进行数据库访问时,Java应用程序通过JDBC API和JDBC驱动程序管理器之间进行通信,例如Java应用程序

2、可以通过JDBC API向JDBC驱动程序管理器发送一个SQL查询语句。JDBC驱动程序管理器又可以以两种方式和最终的数据库进行通信:一是使用JDBC/ODBC桥接驱动程序的间接方式;另一是使用JDBC驱动程序的直接方式。,9.1 JDBC 简介-2,图9.1.1 JDBC示意图,9.1 JDBC 简介-3,JDBC所采用的这种数据库访问机制使得JDBC驱动程序管理器以及底层的数据库驱动程序对于开发人员来说是透明的。对于开发人员来说,访问不同类型的数据库时使用的是同一套JDBC API。此外,使用这种机制还有另一个重要的意义:当有新类型的数据库出现时,只要该数据库的生产厂商提供相应的JDBC驱

3、动程序,已有的Java应用程序不用做任何修改。 ! ODBC (开放式数据库连接)是一个编程接口,它允许程序访问使用SQL (结构化查询语言) 作为数据访问标准的DBMS(数据库管理系统)中的数据。SUN公司认为ODBC难以掌握、使用复杂并且在安全性方面存在问题,所以Java中没有直接采用ODBC 模式。,9.2 建立数据库连接-1,9.2.1 使用JDBC/ODBC桥接驱动程序 9.2.2 使用JDBC驱动程序 9.2.3 使用配置文件,9.2 建立数据库连接-2,要想对数据库进行访问,必须先和数据库建立连接。建立一个数据库连接总是需要两个步骤: l、载入驱动程序 Class.forName

4、(“驱动程序名称“); 2、建立连接 Connection con = DriverManager.getConnection(url,“用户名称“, “用户密码“); JDBC驱动程序管理器可以以两种方式进行数据库访问:一是使用JDBC/ODBC桥接驱动程序;另一种方式是使用JDBC驱动程序直接和数据库连接。下面将使用两个实例来分别讲解如何使用这两种方式进行数据库访问。 !不同的驱动程序,驱动程序名称以及子协议名称是可以不一样的。在随驱动程序提供的文档中能够找到具体使用方法。,9.2.1 使用JDBC/ODBC桥接驱动程序,使用MS Access建立一个名为bookTest.mdb的数据库,

5、该数据库中有一张表bookInfo,该表的的字段名称、数据类型和字段含义参见教材表9.2.1。 使用ODBC管理工具为bookTest.mdb的建立一个名为Book的数据源。设定好访问该数据源的用户名称和密码(本例中分别设定为admin 和 xyz)。,(1) 载入驱动程序,使用JDBC/ODBC桥接驱动程序,该驱动程序的名称为“sun.jdbc.odbc.JdbcOdbcDriver ”,使用下面的语句将载入JDBC/ODBC桥接驱动程序: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“);,(2) 建立连接,使用下面的语句建立一个和数据库的连接:

6、Connection con=DriverManager.getConnection( “jdbc:odbc:Book“,“admin“,“xyz“);,JDBC/ODBC桥连接Access的硬件设置,打开控制面板,选中管理工具。如图,JDBC/ODBC桥连接Access的硬件设置,打开管理工具,选中(ODBC)数据源,JDBC/ODBC桥连接Access的硬件设置,打开数据源管理器,选择系统DNS,并单击添加按钮。,JDBC/ODBC桥连接Access的硬件设置,选中Driver do Microsoft Access (*mdb),JDBC/ODBC桥连接Access的硬件设置,在ODBC

7、 Microsoft Access安装界面中,填写数据源(如Book),并选择数据库,选好过后如图 单击确定,不完成了设置。,JDBC/ODBC桥连接SQL的硬件设置,在创建数据源界面中,选择SQL Server并单击完成按钮。,JDBC/ODBC桥连接SQL的硬件设置,在创建到SQL Server的数据源界面中,命名数据源(如book),注意:服务器后一定要选择Local,JDBC/ODBC桥连接SQL的硬件设置,在创建SQL Server的新数据源中选择如下图,JDBC/ODBC桥连接SQL的硬件设置,在创建到SQL Server的新数据源界面中选择所需数据库(如BookTest)单击下一

8、步如图,JDBC/ODBC桥连接SQL的硬件设置,在创建到SQL Server的新数据源界面中设置如下,单击完成,JDBC/ODBC桥连接SQL的硬件设置,在ODBC Microsoft SQL Server安装界面中单击测试数据源按钮,如果出现右图测试成功界面,则单击完成结束设置,例9.2.1 JdbcOdbc.java,import java.sql.*; public class JdbcOdbc public static void main(String args) try Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Connecti

9、on con=DriverManager.getConnection( “jdbc:odbc:Book“,“admin“,“abc“); Statement stmt = con.createStatement(); ResultSet rs=stmt.executeQuery(“select * from bookInfo“); while(rs.next() System.out.println(rs.getString(1)+“ “+rs.getString(2)+“ “ +rs.getFloat(3)+“ “+rs.getString(4); rs.close(); stmt.clos

10、e(); catch(Exception e) e.printStackTrace(); ,9.2.2 使用JDBC驱动程序-1,本小节介绍如何使用JDBC驱动程序直接和运行在MS SQLSERVER 2000服务器上的数据库建立连接,9.2.2 使用JDBC驱动程序-2,这里使用一个MS SQLSERVER 2000上的数据库作为例子。先在MS SQLSERVER 2000上建立一个名为BookTest的数据库,并且在该数据库中创建一个名为bookInfo的表。表bookInfo的字段名、数据类型及字段含义见表9.2.2。使用企业管理器为该数据库创建一个合法的用户,用户名为admin,密码为

11、xyz。 下载并安装MS SQLSERVER 2000的JDBC驱动程序。在安装目录的lib子目录中,会发现有三个.jar文件(msbase.jar、mssqlserver.jar 及msutil.jar),就是MS SQLSERVER 2000的JDBC驱动程序。注意:要使得Java应用程序能够访问MS SQLSERVER 2000上的数据库,必须使得在类路径中能够找到这三个.jar文件。您可以在环境变量中设置好CLASSPATH;或是更简单一点,直接将这三个.jar文件解压缩到应用程序所在的目录。,(1) 载入驱动程序,MS SQLSERVER 2000 JDBC驱动程序的名称为(参看该驱

12、动程序安装目录下的文档) “com.microsoft.jdbc.sqlserver.SQLServerDriver”。 使用下面的语句将载入MS SQLSERVER 2000 JDBC驱动程序: Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“);,(2) 建立连接,使用下面的语句建立一个和数据库的连接: String url =“jdbc:microsoft:sqlserver: /127.0.0.1:1433“; Connection con=DriverManager.getConnection(url,“admi

13、n“,“xyz“ ); con.setCatalog(“bookTest“); 本例中使用JDBC驱动程序直接和数据库服务器建立连接,url子协议的书写方式与上例中有所不同(参看随驱动程序提供的帮助文档)。例9.2.2完整显示了使用JDBC驱动程序直接访问MS SQL SERVER 2000数据库的源代码,完成和例9.2.1相似的功能。,例9.2.2 Jdbc.java,import java.sql.*; public class Jdbc public static void main(String args) try Class.forName(“com.microsoft.jdbc.s

14、qlserver.SQLServerDriver“); String url =“jdbc:microsoft:sqlserver:/127.0.0.1:1433“; Connection con=DriverManager.getConnection(url,“admin“,“xyz“ ); con.setCatalog(“bookTest“); Statement stmt = con.createStatement(); ResultSet rs=stmt.executeQuery(“select * from bookInfo“); while(rs.next() System.out

15、.println(rs.getString(1)+“ “+rs.getString(2) +“ “+rs.getFloat(3)+“ “+rs.getString(4); rs.close(); stmt.close(); catch(Exception e) e.printStackTrace(); ,9.2.3 使用配置文件,使用JDBC的一个优点就是:数据库编程独立于平台和数据库类型。也就是数据库类型改变后,访问数据的代码不需要改变(数据库驱动程序名称和数据库url需要做相应的变动)。在例9.2.1和9.2.2,驱动程序名称和数据库url都已经被“硬”编码到应用程序中。一旦所访问的数据库

16、类型改变后,必须修改程序中的驱动程序名称和数据库url,重新编译后才能运行。这对于应用程序的用户是不能接受的,另一方面也削减了JDBC数据库编程独立于数据库类型的优点。可以通过使用配置文件来解决这个问题:提供一个设置界面,用户可以在该界面中指定驱动程序的名称以及数据库url,并将结果保存到一个配置文件中。应用程序进行数据库连接时使用配置文件中的信息,这样可以提高应用程序的灵活性。,9.2.3 使用配置文件,为了简单起见,这里的例子只演示了如何从配置文件中读取信息。在第11章的项目实例中演示了如何完整地读写配置文件。 在应用程序所在的目录中创建一个配置文件db.cfg,该文件中的内容为: dbDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver dbIP=127.0.0.1 dbPort=1433 dbUserName=admin dbPassword=xyz defaultDbName=bookTest,9.2.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号