JSP中使用数据库.ppt
《JSP中使用数据库.ppt》由会员分享,可在线阅读,更多相关《JSP中使用数据库.ppt(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 什么是JDBCJDBC是Java数据库连接(Java Data Base Connectivity)技术的简称,指Java同许多数据库之间连接的一种标准。JDBC为数据库应用开发人
2、员、数据库前台工具开发人员提供了一种标准的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)与数据库建立连接DriverManager.getConne
4、ction(String url,String user,String password);,7.2 JDBC应用程序接口简介,对getConnection函数中的参数解释:url参数的命名方法:url由3部分组成,各部分间用冒号分隔,如下所示:jdbc:其中:jdbc协议名称。在JDBC URL中的协议总是jdbc。驱动程序名或数据库连接机制的名称。如“odbc”,它是用于指定ODBC风格的数据库资源名称的URL而保留的。一种标识数据库的方法。子名称可以依不同的子协议而变化。它还可以有子名称的子名称(含有驱动程序编程人员所选的任何内部语法)。使用子名称的目的是为定位数据库提供足够的信息。,7
5、.2 JDBC应用程序接口简介,7.2.2 Connection接口Connection接口是java.sql包中最重要的接口。Connection对象代表与数据库的连接。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。数据库连接一旦建立,就可用来向它所涉及的数据库发送SQL语句。Connection的作用是创建向数据库发送SQL语句的三个接口。这三个接口分别是:Statement接口PreparedStatement接口CallableStatement接口。,7.2 JDBC应用程序接口简介,7.2.2 Connection接口Connection接口提供了多个同名但
6、是参数不同的方法创建以上的三个接口。例如:public Statement createStatement();public Statement createStatement(int resultSetType,int resultSetConcurrency);其中:参数resultSetType指返回记录集的类型resultSetConcurrency指发送的SQL语句的权限,7.2 JDBC应用程序接口简介,7.2.2 Connection接口常用的一些方法:boolean isClosed():用于判断Connection对象是否已经被关闭;void commit():用于提交SQL
7、语句,确认从上一次提交以来所进行的修改;void close():断开连接,释放资源;void rollback():取消SQL语句,取消当前事务中进行的修改。DatabaseMetaData getMetaData():获取一个DatabaseMetaData对象。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口Statement接口对象创建完毕后,主要使用以下方法:public ResultSet executeQuery(String sql):用于执行产生单个结果集的语句,如select。public int executeUpdate(String sql):用
8、于执行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语句。public int executeBatch():用于执行几个SQL语句。Statement接口使用add
9、Batch(String sql)方法将几个SQL语句添加到一个语句块中,然后一同提交给数据库服务器,同时执行。当执行多个SQL insert语句时效率将很高,因为一次提交比多次提交要节省很多系统资源。void close():释放Satement对象的数据库和JDBC资源。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口PreparedStatement接口对象主要使用以下方法:public ResultSet executeQuery(String sql):使用Select命名对数据库进行查询。public int executeUpdate(String sql)
10、:用于执行insert、update或delete语句对数据库进行新增、删除和修改操作。void setXXX(int parameterIndex,XXX x):设定XXX数据类型值给PreparedStatement 类对象的IN参数。,7.2 JDBC应用程序接口简介,7.2.3 Statement接口CallableStatement接口主要用于执行存储过程,其主要方法同Statement。存储过程有两种参数,IN参数和OUT参数。CallableStatement接口继承了PerpareedStatement接口的setXXX方法对IN参数赋值。在CallableStatement接
11、口中使用OUT参数,要做两件事情,一是对OUT参数进行类型注册,二是获取OUT参数的值。CallableStatement提供了多种方法进行类型注册,下面是常用的两种:registerOutParameter(String parameterStringName,int sqlType);registerOutParameter(String parameterStringName,int sqlType,int scale);,7.2 JDBC应用程序接口简介,7.2.4 数据结果集ResultSet接口ResultSet接口用于获取执行SQL语句(或数据库存储过程)返回的结果。它的实例对象
12、是符合SQL语句条件的所有行。常用的方法有:public boolean next():用于数据库游标移动到结果集的下一行,使之成为当前行。如果当前行为最后一行,返回值为false;否则,返回true。在定位到结果集中的某行后,就可以读取数据。对于不同数据类型,要使用不同的读取方法getXXX()。JDBC提供了两种形式:,7.2 JDBC应用程序接口简介,7.2.4 数据结果集ResultSet接口public XXX getXXX(String columnName):XXX代表任意的数据类型,参数columnName代表列名。public XXX getXXX(int columnInd
13、ex):XXX代表任意的数据类型,参数columnIndex代表列号。ResultSetMetaData getMetaData():获取结果集的列编号、类型和属性下面是ResultSet接口的示例:,private Statement stmt=null;private ResultSet rs=null;private PreparedStatement prpSql=null;);Connection conn=:端口号/数据库名称,用户名,密码);stmt=conn.createStatement();rs=stmt.executeUpdate(select*from database
14、);while(rs.next()rs.getString(1);rs.close();stmt.close();conn.close();,7.2 JDBC应用程序接口简介,7.2.5 数据库元数据-DatabaseMetaData和ResultSetMetaDataDatabaseMetaData接口可以从数据库管理系统中获得数据库的信息,例如数据库所有的表名、存储过程名等信息。这个类提供了许多方法来取得这些信息,常用的方法如下:String getDatabaseProductName():获得数据库的名称。ResultSet getCooumns(String databasename
15、,String dboname,String tablename,String columnname):获得表字段信息,以列的方式存储在一个ResultSet对象中。,7.2 JDBC应用程序接口简介,7.2.5 数据库元数据-DatabaseMetaData和ResultSetMetaDataResultSetMetaData接口用来获取数据库表的结构。通过它提供的一些常用方法,可以获得ResultSet对象中的类型和属性信息的对象。常用方法如下:int getColumnType(int column):检索指定列的SQL类型;String getTableName(int column)
16、:获取指定列的名称;,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、配置数据源首先要配置ODBC数据源。选择数据源(ODBC)(Win 2000在管理工具中;W
17、in XP在控制面板中)先看图片,在现场演示。,在管理工具中,选择“数据源”在对话框中选择用户dsn,添加,在对话框中选择access driver(*。Mdb)单击“完成”。,在数据源名称输入“book”。选择数据库为book。,选择图书管理数据库.mdb,权限默认,在登录用户名输入对应的用户名和密码。,7.3 利用JDBC访问数据库,7.3.1 通过JDBC-ODBC桥连接来访问数据库3 编写相应的程序(1)加载数据库的驱动程序(2)建立连接(3)向数据库发送SQL语句(4)处理查询结果(5)关闭数据库连接,7.3 利用JDBC访问数据库,7.3.1 通过JDBC-ODBC桥连接来访问数据
18、库【例7.1】利用JDBC-ODBC桥连接数据库,执行SQL语句,并在数据库中插入一条记录。,ch7_1.jsp文件内容如下:%Connection conn;Statement stmt=null;ResultSet rs;int n;try);catch(ClassNotFoundException e)out.print(e);,try/和数据库建立连接conn=DriverManager.getConnection(jdbc:odbc:book,);stmt=conn.createStatement();/创建Statement对象,用于执行SQL语句 n=stmt.executeUp
19、date(insert into book values(TP003,ASP.NET动态网站开发教程,李英俊,清华大学出版社,35);/向表中插入一条记录 if(n0)out.println(添加成功);else out.println(添加失败);rs=stmt.executeQuery(select*from book);,out.print();out.print();out.print(+书号);out.print(+书名);out.print(+作者);out.print(+出版社);out.print(+单价);out.print();,while(rs.next()out.pri
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 使用 数据库
链接地址:https://www.31ppt.com/p-6510402.html