第4章JSP中使 用数 据库

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

《第4章JSP中使 用数 据库》由会员分享,可在线阅读,更多相关《第4章JSP中使 用数 据库(83页珍藏版)》请在金锄头文库上搜索。

1、2019/6/21,1,Java Web开发技术,第4章 JSP中使用数据库,2019/6/21,Java Web开发技术,2,4.1 JDBC技术概述,几乎所有的应用都要涉及到数据的保存。在很多系统中,数据库都是生命的核心,作为软件开发人员,必须懂得如何操作和维护数据库。 本章首先介绍JDBC的工作原理及其四种类型的驱动,随后探讨如何使用JDBC技术连接常用的数据库,如SQL Server,Access,Oracle等,并给出在JSP中使用数据库的具体例子。最后,介绍了数据库连接池的优点及工作原理并举例。,2019/6/21,Java Web开发技术,3,4.1.1 什么是 JDBC,JDB

2、C是Java数据库连接(Java DataBase Connectivity)技术的简称 它是由JavaSoft公司(Sun公司负责开发Java产品的业务单位)同数据库及数据库工具厂家一起建立的独立于DBMS的机制。,2019/6/21,Java Web开发技术,4,JDBC的组成,JDBC是一种用于执行SQL语句的Java API。 它由一组用Java编程语言编写的类和接口组成。 这个API由java.sql.*和javax.sql.*两个包中的一些类和接口组成,它为数据库开发人员提供了一个标准的API,使他们能够用纯Java API 来编写数据库应用程序。,2019/6/21,Java W

3、eb开发技术,5,JDBC的优点,Java具有坚固、安全、易于使用、易于理解和可从网络上自动下载 等优点; 可移植性强:不必为每一种数据库编写不同的调用程序 ,只需用JDBC API编写一个程序就够了;,2019/6/21,Java Web开发技术,6,4.1.2两层模型和三层模型,2019/6/21,Java Web开发技术,7,4.1.3 JDBC驱动程序的类型,JDBC-ODBC桥加ODBC驱动 本地API驱动 JDBC 网络纯Java驱动 本地协议纯 Java 驱动,2019/6/21,Java Web开发技术,8,JDBC-ODBC桥加ODBC驱动,ODBC(Open Databas

4、e Connectivity,开放数据库互连)是微软公司开放服务结构中有关数据库的一个组成部分 它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。 这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。,2019/6/21,Java Web开发技术,9,JDBC-ODBC桥加ODBC驱动,先把JDBC调用转化为ODBC调用,再利用ODBC来与数据库交互 。 现存许多可用的ODBC驱动程序与大量数据库的交互,减少开发人员进行企业开发的麻烦 。 缺点:ODBC数据源需要提前在客户端进行注册,对于远程的客户端,

5、操作极不方便,丢失平台无关性。 适用:企业网或用Java编写的三层结构的应用程序 。,2019/6/21,Java Web开发技术,10,JDBC-ODBC桥加ODBC驱动,2019/6/21,Java Web开发技术,11,本地API驱动,将标准的JDBC调用转变为对本地数据库原始驱动程序调用,再通过数据库的原始驱动程序与数据库交互。 比JDBC-ODBC桥具有更优良的性能 。 缺点:丢失JDBC平台无关性的好处,而且也需要安装客户端的数据库原始驱动。,2019/6/21,Java Web开发技术,12,本地API驱动,2019/6/21,Java Web开发技术,13,JDBC 网络纯Ja

6、va驱动,JDBC网络驱动程序传送JDBC命令到一个中间件上,这个中间件再将JDBC调用请求传送到数据库中,数据库返回的结果集也通过这个中间件来返回到应用程序。 优点:与平台无关的,并且不需要客户端的安装和管理,因此很适合于用做Internet的应用。 缺点:必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。,2019/6/21,Java Web开发技术,14,JDBC 网络纯Java驱动,2019/6/21,Java Web开发技术,15,本地协议纯 Java 驱动,直接访问数据库,中间不需要任何转换或通过其它任何的中间件就能完成交互 。 将成为从JDBC访问数据库的首选方法,

7、因为他们提供了Java的所有优点。,2019/6/21,Java Web开发技术,16,本地协议纯 Java 驱动,2019/6/21,Java Web开发技术,17,4.2 使用JDBC,要使用JDBC技术主要包括以下步骤: 注册和加载驱动器 ; 与数据库建立连接; 发送SQL语句; 处理结果; 关闭连接;,2019/6/21,Java Web开发技术,18,4.2.1 注册和加载驱动器,加载JDBC驱动是通过调用方法java.lang.Class.forName(),下面列出常用的几种数据库驱动程序加载语句的形式 : Class.forName(“sun.jdbc.odbc.JdbcOdb

8、cDriver”);/使用JDBC-ODBC桥驱动程序,事先必须在Windows中注册ODBC数据源 Class.forName(“oracle.jdbc.driver.OracleDriver”);/使用Oracle的JDBC驱动程序 Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver”);/使用SQL Server的JDBC驱动程序 Class.forName(“com.ibm.db2.jdbc.app.DB2Driver”);/使用DB2的JDBC驱动程序 Class.forName(“org.gjt.mm.mysql.

9、Driver“);/使用MySql的JDBC驱动程序,2019/6/21,Java Web开发技术,19,4.2.2 建立连接,与数据库建立连接的方法是调用DriverManager.getConnection(String url, String user, String password )方法。 下述代码显示如何打开一个与位于URL为“jdbc:odbc:wombat“ 的数据库的连接。所用的用户标识符为“oboy“,口令为“12Java“: String url = “jdbc:odbc:wombat“; Connection con = DriverManager.getConnec

10、tion(url, “oboy“, “12Java“);,2019/6/21,Java Web开发技术,20,几种数据库的连接语句的形式,String url=“jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=pubs“; String user=“sa“; String password=“”; Connection conn= DriverManager.getConnection(url,user,password);,String url=“jdbc:db2:/localhost:5000/sample“; String us

11、er=“admin“; String password=“; Connection conn= DriverManager.getConnection(url,user,password);,String url=“jdbc:mysql:/localhost/softforum?user=soft&password=soft1234&useUnicode= true&characterEncoding=8859_1“; Connection conn= DriverManager.getConnection(url);,Connection con=DriverManager.getConne

12、ction(“jdbc:oracle:oci8:db”,“scott”,“tiger”);/使用Oracle的JDBC OCI驱动程序 Connection con=DriverManager.getConnection(“jdbc:oracle:thin:host:8080:db“,“scott“, “tiger“);/使用Oracle的JDBC Thin驱动程序,sqlserver,mysql,db2,oracle,2019/6/21,Java Web开发技术,21,4.2.3 发送SQL语句,Statement对象用于将 SQL 语句发送到数据库中。实际上有三种 Statement对象:

13、 Statement:用于执行不带参数的简单SQL语句; PreparedStatement(从 Statement 继承):用于执行带或不带IN参数的预编译SQL语句; CallableStatement(从PreparedStatement 继承):用于执行数据库存储过程的调用。,2019/6/21,Java Web开发技术,22,4.2.3.1 创建Statement对象,Statement 对象用Connection的方法createStatement()创建。createStatement()的语法形式为: public Statement createStatement() thr

14、ows SQLException 如下列代码段中所示: Connection con = DriverManager.getConnection(url, “sunny“, “); Statement stmt = con.createStatement();,2019/6/21,Java Web开发技术,23,Statement接口中的主要方法,ResultSet executeQuery (String sql) /执行Statement对象,返回单个结果集 int executeUpdate (String sql) /执行Statement对象,返回本次操作影响的行数 boolean

15、execute (String sql) /执行Statement对象,返回布尔值 void close () /关闭Statement对象 int getMaxFieldSize () /获得字段最大长度 void setMaxFieldSize (int max) /设置字段最大长度 int getMaxRows () /获得最大行数,2019/6/21,Java Web开发技术,24,Statement接口中的主要方法,int getMaxRows () /获得最大行数 void setMaxRows (int max) /设置最大行数 int getQueryTimeout () /获

16、得查询超时时间限 void setQueryTimeout (int seconds) /设定查询超时时间限 java.sql.SQLWarning getWarnings () /获得与statement对象有关的警告 ResultSet getResultSet () /得到下一个结果集 int getUpdateCount () /得到修改的行数 boolean getMoreResults () /检测是否有多个结果集,2019/6/21,Java Web开发技术,25,4.2.3.2创建PreparedStatement对象,如果需要多次执行一个SQL语句,可以使用PreparedStatement对象。在创建PreparedStatement对象时,通过传递不同参数值多次执行PreparedStatement对象,可以得到多个不同的结果。 PreparedStatement对象用Connection的prepareStatement()方法创建。如: PreparedStatement pStmt = c

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

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

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