JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发

上传人:E**** 文档编号:89188661 上传时间:2019-05-21 格式:PPT 页数:58 大小:2.32MB
返回 下载 相关 举报
JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发_第1页
第1页 / 共58页
JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发_第2页
第2页 / 共58页
JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发_第3页
第3页 / 共58页
JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发_第4页
第4页 / 共58页
JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发》由会员分享,可在线阅读,更多相关《JSP应用开发教程 教学课件 ppt 作者 温超 第6章 JSP数据库开发(58页珍藏版)》请在金锄头文库上搜索。

1、第6章 JSP数据库开发,如何通过JDBC 访问数据库,JDBC中常用的API,以及在JSP中如何连接数据库、操作数据库。 JDBC数据库开发实例和解决中文显示乱码的问题等,目标要求,主要内容,JDBC简介 通过JDBC操作数据库 连接池,JDBC(Java Database Connectivity,Java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。有了JDBC,Java程序员就可以为不同的数据库编写相同的程

2、序,6.1JDBC简介,6.1.1 从ODBC到JDBC Internet上大量信息必须通过数据库系统才能有效管理。由于历史等原因,Internet上的数据库系统不少是异构的。为了在Internet环境下,基于异种系统平台实现对异构数据库的查询和联合使用,必须提供一个独立于特定的数据库管理系统的统一编程界面。,微软公司很早就提出了数据库访问接口标准,即开放数据库互连(Open Database ConnectivityODBC)的概念,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口),这些API利用SQL来完成其大部分任务。一个基于ODBC的应用程序对数据库的操作不依

3、赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是MySQL、SQLServer、Access还是Oracle数据库,均可用ODBCAPI进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。,JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,使数据库开发人员能够用纯Java API 编写独立于DBMS的数据库应用程序;同时为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。除此之外,JDBC使用已有的SQL标准并支持与其它

4、数据库连接标准,如ODBC之间的桥接。,目前,Microsoft 的 ODBC API 可能是使用最广的、用于访问关系数据库的编程接口。它能在几乎所有平台上连接几乎所有的数据库。但是ODBC不适合直接在Java中使用,因为它使用C语言接口。,6.1.2 JDBC中的API,JDBC主要包含两部分:面向数据库厂商的JDBC Drive API及面向Java程序员的JDBC API。 1面向数据库厂商的JDBC Drive API 2面向Java程序员的JDBC API Java程序员通过调用此API从而实现连接数据库、执行SQL语句并返回结果集等编程数据库的能力,它主要是由一系列的接口定义所构成

5、。,(1)java.sql.DriveManager 该接口主要定义了用来处理装载驱动程序并且为创建新的数据库连接提供支持。用于装载驱动程序,它所有的成员都是静态成员,所以在程序中无须对它进行实例化,直接通过类名就可以访问它。,(2)java.sql.Connection 该接口主要作用是管理指向数据库的连接,例如向数据库发送查询和接收数据库的查询结果都是在它基础上的;完成同数据库的连接的所有任务之后关闭此连接。,(3)java.sql.Statement 该接口主要定义了在一个给定的连接中作为SQL语句执行声明的容器以实现对数据库的操作。Statement对象用于将SQL语句发送到数据库中。

6、,(4)java.sql.ResultSet 该接口表示执行对数据库的操作所返回的结果集,通常由执行查询数据库的语句生成。,6.1.3 JDBC 对数据库的访问方式,JDBC 对数据库的访问常用的有两种方式:通过JDBC-ODBC 桥对数据库访问;直接对数据库访问。 1通过JDBC-ODBC 桥对数据库访问,JDBC-ODBC 桥驱动程序实际是把所有JDBC的调用传递给ODBC,再由ODBC调用本地数据库驱动代码,如图6-1所示。,客户端通过生成系统数据源名(DSN)来配置ODBC 管理器和相应的数据库客户机的驱动。 具体配置方法如下(以Access为例): (1)控制面板中,管理工具数据源(

7、ODBC)系统DSN,如图6-2所示,(2)【添加】Microsoft Access Driver(*.mdb) 完成,如图6-3所示。,(3)输入数据源名称,例如“demo”,如图6-4所示。 (4)“数据库”标签【选择】,在列表中选择需要连接的数据库student,如图6-5所示。,(5)在图6-4中单击【高级】可设置登录名称zhangsan与密码123456。,2直接对数据库访问 这种方式需要相应的DBMS厂商提供相应的JDBC驱动程序,可以独立于ODBC用于可以随处可运行的客户端的浏览器中的Applet程序。这种方法使用简单,只需在程序中加载相应的驱动程序即可对数据库进行访问操作。,6

8、.2通过JDBC操作数据库,6.2.1通过JDBC 访问数据库的步骤 一般Java编程需要引用包 import java.sql.*。通过JDBC 访问数据库需要以下几个步骤: (1)加载驱动程序类 (2)连接数据库 (3)操作数据库 (4)关闭数据库连接,6.2.2加载驱动程序类,为实现与特定的数据库相连接,JDBC必须加载相应的驱动程序类。 这通常可以调用“java.lang.*”包的方法Class.forName ( ),返回与带有给定字符串名的类或接口相关联的 Class 对象,其原型声明为: public static Class forName (String className)

9、 throws ClassNotFoundException 调用该方法是为了显式地加载所指定的JDBC驱动程序。一般使用如下格式: Class.forName(“公司名.数据库名.驱动程序名“);,例如加载ODBC-JDBC桥驱动程序: Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver);加载DBMS厂商提供的驱动程序: Class.forName(“com.mysql.jdbc.Driver”);/加载 Mysql驱动 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“);/加载SQ

10、LServer驱动 Class.forName(“oracle.jdbc.driver.OracleDriver“);/加载Oracle驱动,6.2.3 连接数据库,创建与数据源的连接使用如下代码: Connection conn = DriverManager.getConnection(url, user, password); 注意:采用DriverManager类中的getConnection()方法实现与url所指定的数据源建立连接并返回一个Connection类的对象,以后对这个数据源的操作都是基于该Connection类对象;但对于Access等小型数据库,可以不用给出用户名us

11、er与密码password。,JDBC借用了url语法来确定全球的数据库,对由url所指定的数据源的标准表示格式为: jdbc:subprotocol:/hostname:port/dbname?param1=value1 ¶m2=value2 其中,subprotocol定义驱动程序类型,hostname表示主机名,port表示端口,dbname表示数据库名,后面的可选param参数项内容如表6-5所示。,表6-5 可选param参数项说明,1采用JDBC-ODBC桥接方式连接数据库 Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); Str

12、ing url = “jdbc:odbc:/:port/testDB?user=“,2装载MySQL JDBC驱动程序 (1)Class.forName(“com.mysql.jdbc.Driver “); String url =“jdbc:mysql:/localhost:3306/testDB“; /testDB数据库名 String user=“root“; String password=“; Connection conn= DriverManager.getConnection(url,user,password);,3装载MicroSoft SQLServer驱动程序 Clas

13、s.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver “); String url=“jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs“; /pubs数据库名 String user=“sa“; String password=“; Connection conn= DriverManager.getConnection(url,user,password);,4装载Oracle JDBC驱动程序(用thin模式) Class.forName(“oracle.jdbc.

14、driver.OracleDriver “); String url=“jdbc:oracle:thin:localhost:1521:orcl“; /orcl为数据库的SID String user=“scott“; String password=“tiger“; Connection conn= DriverManager.getConnection(url,user,password,6.2.4 操作数据库,操作数据库主要是包括向数据库插入、删除、更新数据以及查询数据库。 以下是这些操作的常用代码,其中name是主键,建立student表的标准SQL语句如下:,1插入数据,2删除数据,

15、3更新数据库,4查询数据库 (1)查询数据库的一些结构信息 根据这些信息,可以访问一个未知结构的数据库。这主要是通过DatabaseMetaData类的对象来实现并调用其中的方法来获得数据库的详细信息,(2)查询数据库得到结果集,6.2.6 JDBC数据库开发实例,下面是一个MySQL数据库中完整的开发实例,该实例首先是在MySQL中使用SQL语句建立了testDB数据库和student表并向表中插入了两条学生记录,然后在JSP页面中进行查询显示。具体步骤如下: (1)http:/ (3)在开始菜单中打开“MySQL Command Line Client”,启动MySQL(“命令提示符”窗口)。MySQL的默认用户是root,这里我们没有设置password。单击回车后在mysql提示符后输入“CREATE DATABASE testDB”命令,创建testDB数据库,如图6-7所示。,(4)接着输入“USE testDB”命令连接数据库,然后使用

展开阅读全文
相关资源
相关搜索

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

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