第7章-JSP中使用数据库

上传人:cind****622 文档编号:118881286 上传时间:2019-12-27 格式:PPT 页数:93 大小:1.84MB
返回 下载 相关 举报
第7章-JSP中使用数据库_第1页
第1页 / 共93页
第7章-JSP中使用数据库_第2页
第2页 / 共93页
第7章-JSP中使用数据库_第3页
第3页 / 共93页
第7章-JSP中使用数据库_第4页
第4页 / 共93页
第7章-JSP中使用数据库_第5页
第5页 / 共93页
点击查看更多>>
资源描述

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

1、第7章 JSP中使用数据库,清华大学出版社,学习目的与要求,理解JDBC应用程序编程接口; 掌握使用纯Java驱动程序操作数据库的编程方法; 掌握对数据的增加、删除、修改和查询编程技术; 查询记录的分页面显示; 数据库连接池编程技术。,本章主要内容,7.1 JDBC概述 7.2 JDBC应用程序接口简介 7.3 利用JDBC访问数据库 7.4 数据库操作案例 7.5 上机实训 7.6 本 章 习 题,7.1 JDBC概述,7.1.1 什么是JDBC JDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,指Java同许多数据库之间连接的一种标准。 JD

2、BC为数据库应用开发人员、数据库前台工具开发人员提供了一种标准的JavaAPI,使开发人员可以用纯Java语言编写完整的数据库应用程序。 简单地说,JDBC能够完成下列三件事: 与一个数据库建立连接(connection)。 向数据库发送SQL语句(statement)。 处理数据库返回的结果(resultset)。,7.1 JDBC概述,7.1.2 JDBC的构成 1.JDBC API:定义了标准接口,无论编写Mysql还是Oracle等数据库程序,这些接口是一致的。 2.JDBC数据库驱动程序,7.2 JDBC应用程序接口简介,7.2.1 DrvierManager类 提供管理一组JDBC

3、驱动程序所需要的基本服务,可以跟踪可用的驱动程序,并在数据库和相应的驱动程序之间建立连接。 该类的常用方法有:getConnection和forName方法。 public static Connection getConnection(String url,String user,String password) public static Class forName(String className),7.2 JDBC应用程序接口简介,DrvierManager类的使用法: (1)加载驱动 例如: Class.forName(“com.mysql.jdbc.Driver“); (2)与数据

4、库建立连接 DriverManager.getConnection(String url,String user,String password);,7.2 JDBC应用程序接口简介,对getConnection函数中的参数解释: url参数的命名方法:url由3部分组成,各部分间用冒号分隔,如下所示: jdbc: 其中:jdbc协议名称。在JDBC URL中的协议总是jdbc。 驱动程序名或数据库连接机制的名称。如“odbc”,它是用于指定ODBC风格的数据库资源名称的URL而保留的。 一种标识数据库的方法。子名称可以依不同的子协议而变化。它还可以有子名称的子名称(含有驱动程序编程人员所选的

5、任何内部语法)。使用子名称的目的是为定位数据库提供足够的信息。,7.2 JDBC应用程序接口简介,7.2.2 Connection接口 Connection接口是java.sql包中最重要的接口。Connection对象代表与数据库的连接。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。 数据库连接一旦建立,就可用来向它所涉及的数据库发送SQL语句。Connection的作用是创建向数据库发送SQL语句的三个接口。这三个接口分别是: Statement接口 PreparedStatement接口 CallableStatement接口。,7.2 JDBC应用程序接口简介,

6、7.2.2 Connection接口 Connection接口提供了多个同名但是参数不同的方法创建以上的三个接口。 例如: public Statement createStatement(); public Statement createStatement(int resultSetType,int resultSetConcurrency); 其中:参数resultSetType指返回记录集的类型 resultSetConcurrency指发送的SQL语句的权限,7.2 JDBC应用程序接口简介,7.2.2 Connection接口 常用的一些方法: boolean isClosed()

7、:用于判断Connection对象是否已经被关闭; void commit():用于提交SQL语句,确认从上一次提交以来所进行的修改; void close():断开连接,释放资源; void rollback():取消SQL语句,取消当前事务中进行的修改。 DatabaseMetaData getMetaData():获取一个DatabaseMetaData对象。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口 Statement接口对象创建完毕后,主要使用以下方法: public ResultSet executeQuery(String sql):用于执行产生单个结

8、果集的语句,如select。 public int executeUpdate(String sql):用于执行insert、update或delete语句以及SQL DLL(数据定义)语句。当执行insert、update或delete语句时将返回一个整数,用于表示受影响的行数,返回结果为0时表示操作失败;当执行SQL DLL语句,如create table时,由于它不操作行,返回值将总为0。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口 public boolean execute(String sql):用于执行返回多个结果集、多个更新计数或二者结合的SQL语句。

9、 public int executeBatch():用于执行几个SQL语句。Statement接口使用addBatch(String sql)方法将几个SQL语句添加到一个语句块中,然后一同提交给数据库服务器,同时执行。当执行多个SQL insert语句时效率将很高,因为一次提交比多次提交要节省很多系统资源。 void close():释放Satement对象的数据库和JDBC资源。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口 PreparedStatement接口对象主要使用以下方法: public ResultSet executeQuery(String sq

10、l):使用Select命名对数据库进行查询。 public int executeUpdate(String sql):用于执行insert、update或delete语句对数据库进行新增、删除和修改操作。 void setXXX(int parameterIndex,XXX x):设定XXX数据类型值给PreparedStatement 类对象的IN参数。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口 CallableStatement接口主要用于执行存储过程,其主要方法同Statement。存储过程有两种参数,IN参数和OUT参数。CallableStatement

11、接口继承了PerpareedStatement接口的setXXX方法对IN参数赋值。在CallableStatement接口中使用OUT参数,要做两件事情,一是对OUT参数进行类型注册,二是获取OUT参数的值。 CallableStatement提供了多种方法进行类型注册,下面是常用的两种: registerOutParameter(String parameterStringName, int sqlType); registerOutParameter(String parameterStringName, int sqlType,int scale);,7.2 JDBC应用程序接口简介,

12、7.2.4 数据结果集ResultSet接口 ResultSet接口用于获取执行SQL语句(或数据库存储过程)返回的结果。它的实例对象是符合SQL语句条件的所有行。 常用的方法有: public boolean next():用于数据库游标移动到结果集的下一行,使之成为当前行。如果当前行为最后一行,返回值为false;否则,返回true。 在定位到结果集中的某行后,就可以读取数据。对于不同数据类型,要使用不同的读取方法getXXX()。JDBC提供了两种形式:,7.2 JDBC应用程序接口简介,7.2.4 数据结果集ResultSet接口 public XXX getXXX(String co

13、lumnName):XXX代表任意的数据类型,参数columnName代表列名。 public XXX getXXX(int columnIndex):XXX代表任意的数据类型,参数columnIndex代表列号。 ResultSetMetaData getMetaData():获取结果集的列编号、类型和属性 下面是ResultSet接口的示例:,private Statement stmt = null; private ResultSet rs = null; private PreparedStatement prpSql=null; Class.forName(“com.mysql.j

14、dbc.Driver“); Connection conn= DriverManager.getConnection(“jdbc:mysql:/localhost:端口号/数据库名称“, “用户名“,“密码“); stmt = conn.createStatement(); rs = stmt.executeUpdate(“select * from database“); while(rs.next() rs.getString(1); rs.close(); stmt.close(); conn.close();,7.2 JDBC应用程序接口简介,7.2.5 数据库元数据-Database

15、MetaData和ResultSetMetaData DatabaseMetaData接口可以从数据库管理系统中获得数据库的信息,例如数据库所有的表名、存储过程名等信息。这个类提供了许多方法来取得这些信息,常用的方法如下: String getDatabaseProductName():获得数据库的名称。 ResultSet getCooumns(String databasename,String dboname, String tablename,String columnname):获得表字段信息,以列的方式存储在一个ResultSet对象中。,7.2 JDBC应用程序接口简介,7.2.

16、5 数据库元数据-DatabaseMetaData和ResultSetMetaData ResultSetMetaData接口用来获取数据库表的结构。通过它提供的一些常用方法,可以获得ResultSet对象中的类型和属性信息的对象。常用方法如下: int getColumnType(int column):检索指定列的SQL类型; String getTableName(int column):获取指定列的名称;,7.3 利用JDBC访问数据库,所有的利用JDBC访问数据库的程序都具有以下的流程: 加载JDBC驱动程序 建立和数据库的连接 执行SQL语句 存放处理结果 与数据库断开连接,7.3 利用JDBC访问数据库,7.3.1 通过JDBC-ODBC桥连接来访问数据库 可以使JDBC有能力访问几乎所有类型的数据库。下面通过一个例子介绍: 1、首先建立一个access数据库,数据库名称为:book,保存数据库文件。,7.3 利用JDBC访问数据库,7.3.1 通过JDBC-ODBC桥连接来访问数据库 2、配置数据源 首先要配置ODB

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

当前位置:首页 > 大杂烩/其它

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