JSP数据库核心技术课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《JSP数据库核心技术课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 数据库 核心技术 课件
- 资源描述:
-
1、思考:”程序”+?+”数据库”关系图1 应用程序、JDBC和驱动程序之间的关系JDBC APIJDBC API结构图其它数据库MysqlOracleJAVA应用程序Oracle驱动程序Mysql驱动程序ODBC 驱动程序JDBC-ODBC驱动Driver Manager(驱动程序管理器)StatementStatement接口接口(更新更新SQLSQL语句语句)PreparedStatement(PreparedStatement(预预编译编译)CallableStatement(CallableStatement(存存储过程储过程)ResultSet(数据集)ResultSet(数据集)Re
2、sultSet(数据集)第6 6章(2)(2)JSPJSP操作数据库核心技术 内容摘要 JDBC技术是Web程序开发的重要组成部分。在网络技术蓬勃发展的时代,数据库扮演着非常重要的角色;因此,数据库操作是程序应用的最重要技术之一。如何获取数据、增加数据、删除数据以及如何对数据库进行管理,是每个程序开发者必须面对的问题。为了使程序开发人员不必考虑所用的数据库更方便开发应用程序,Java平台提供了一个标准的数据库访问接口集JDBC API。本章主要介绍JDBC的基本概念和相关接口,如何使用JDBC提供的接口操作数据库,使用预编译语句等。学习目标掌握JDBC的概念掌握JDBC API常用的接口和方法
3、熟练掌握使用不同方式连接数据库熟练掌握数据库的更新操作熟练掌握数据库的显示和查询操作熟练掌握数据库分页显示掌握预编译语句的处理掌握获取数据库系统信息6.1 JDBC6.1 JDBC技术 JDBC(Java DataBase Connectivity)是一套面向对象的应用程序接口,它制定了统一的访问各类关系数据库的标准接口接口,为各个数据库厂商提供了标准接口的实现实现。通过使用JDBC技术,开发人员可以用纯Java语言和标准的SQL语句编写完整的数据库应用程序,并且真正的实现了软件的跨平台型。JDBC技术简介 JDBCJDBC概述在JSP技术中,对数据库的操作都是通过JDBC组件完成的。JDBC
4、在Java脚本程序和数据库之间充当了一个桥梁的作用。Java脚本程序可以通过JDBC组件向数据库发出命令,数据库管理系统获得命令后,执行请求,并将请求结果通过JDBC返回给Java程序。JDBC是Sun公司提供的一套数据库编程接口API函数,由Java语言编写的类。使用JDBC开发的程序能够自动地将SQL语句传送给相应的数据库管理系统。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用程序时真正实现“Write Once,Run Everywhere!”JDBCJDBC概述图1 应用程
5、序、JDBC和驱动程序之间的关系JDBCJDBC概述 通过JDBC组件对数据库进行操作所需的类库JDBC API,包含在两个包里。第一个包是java.sql,包含了JDBC API的核心类和接口,它们指定具体操作而不提供任何实现。实际的实现由第三方提供商提供。包括为DBMS(数据库管理系统)连接和存储在DBMS里的数据进行交互而提供的Java数据对象。另一个包含JDBC API的包是javax.sql,它扩展了java.sql,是J2EE/Java EE的一部分。除其他高级JDBC特性外javax.sql还包含了那些与Java命名与目录接口(JNDI)进行交互Java数据对象,以及管理连接池的
6、Java数据对象。JDBC的主要操作类及接口NO.NO.类及接口类及接口描述描述1java.sql.Driverjava.sql.Driver定义一个数据库驱动程序的接口定义一个数据库驱动程序的接口2java.sql.DriverManagerjava.sql.DriverManager用于管理用于管理JDBCJDBC驱动程序驱动程序3java.sql.Connectionjava.sql.Connection用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便可以执行可以执行SQLSQL语句和获得检索结果语句和获得检索结
7、果4java.sql.Statementjava.sql.Statement一个一个StatementStatement对象用于执行静态对象用于执行静态SQLSQL语句,并获得语句执行后产生的结语句,并获得语句执行后产生的结果果5java.sql.PreparedStatemjava.sql.PreparedStatementent创建一个可以编译的创建一个可以编译的SQLSQL语句对象,该对象可以被多次运行,以提高执语句对象,该对象可以被多次运行,以提高执行的效率,该接口是行的效率,该接口是StatementStatement的子接口的子接口6java.sql.ResultSetjava.s
8、ql.ResultSet用于创建表示用于创建表示SQLSQL语句检索结果的结果集,用户通过结果集完成对数据语句检索结果的结果集,用户通过结果集完成对数据库的访问库的访问7java.sql.CallableStatemjava.sql.CallableStatementent用于执行用于执行SQLSQL存储过程存储过程8java.sql.SQLExceptionjava.sql.SQLException对数据库访问时产生的错误的描述信息对数据库访问时产生的错误的描述信息JDBC的主要操作类及接口NO.NO.类及接口类及接口描述描述9java.sql.Datejava.sql.Date该类是标准该
9、类是标准java.util.Datejava.util.Date的一个子集,用于表示与的一个子集,用于表示与SQL DATESQL DATE相同的日相同的日期类型,该日期不包括时间期类型,该日期不包括时间10java.sql.Timejava.sql.Time该类是标准该类是标准java.util.Datejava.util.Date的一个子集,用于表示时、分、秒的一个子集,用于表示时、分、秒11java.sql.DataTruncationjava.sql.DataTruncation在在JDBCJDBC遇到数据截断的异常时,报告一个警告遇到数据截断的异常时,报告一个警告(读数据时读数据时)
10、或产生一个异或产生一个异常常(写数据时写数据时)12java.sql.DrivaerPropertjava.sql.DrivaerPropertyInfoyInfo高级程序设计人员通过高级程序设计人员通过DriverPropertInfoDriverPropertInfo与与DriverDriver进行交流,可使用进行交流,可使用getDriverPropertyInfogetDriverPropertyInfo获取或提供驱动程序的信息获取或提供驱动程序的信息13java.sql.Timestampjava.sql.Timestamp标准标准java.util.Datejava.util.Da
11、te类的扩展,用于表示类的扩展,用于表示SQLSQL时间戳,并增加了一个能时间戳,并增加了一个能表示纳秒的时间域表示纳秒的时间域14java.sql.DatabaseMetaDajava.sql.DatabaseMetaDatata与与java.sql.ResultSetMetaDatajava.sql.ResultSetMetaData一同用于访问数据库的元信息一同用于访问数据库的元信息15java.sql.SQLWarningjava.sql.SQLWarning对数据库访问时产生的警告的描述信息对数据库访问时产生的警告的描述信息16java.sql.Typesjava.sql.Types
12、定义了表示定义了表示SQLSQL类型的常量类型的常量JDBC APIJDBC API结构图其它数据库MysqlOracleJAVA应用程序Oracle驱动程序Mysql驱动程序ODBC 驱动程序JDBC-ODBC驱动Driver Manager(驱动程序管理器)StatementStatement接口接口(更新更新SQLSQL语句语句)PreparedStatement(PreparedStatement(预预编译编译)CallableStatement(CallableStatement(存存储过程储过程)ResultSet(数据集)ResultSet(数据集)ResultSet(数据集)J
13、DBC APIJDBC API介绍DriverManagerDriverManager类是JDBC的管理层,作用于用户和驱动程序之间。跟踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager类也处理诸如驱动程序登录时间限制及登录和跟踪消息的显示等事务。ConnectionConnection对象代表与数据库的连接。连接过程包括所执行的SQL语句和在该连接上所返回的结果。一个应用程序可与单个数据库有一个或多个连接,或者可与许多数据库有连接。JDBC APIJDBC API介绍StatementStatement对象用于将SQL语句发送到数据库中。实际上有三种St
14、atement对象:Statement、PreparedStatement(它从Statement继承而来)和CallableStatement(它从PreparedStatement 继承而来)。Statement对象用于执行不带参数的简单SQL语句;PreparedStatement对象用于执行带或不带IN参数的预编译SQL语句;CallableStatement对象用于执行对数据库已存储过程的调用。Statement接口提供了执行语句和获取结果的基本方法。PreparedStatement接口添加处理IN参数的方法;而CallableStatement添加处理OUT参数的方法。JDBC
15、APIJDBC API介绍 ResultSet使用Statement对象执行executeQuery()方法,将会返回一个数据库的结果集。结果集一般是一个表,其中有查询所返回的列标题及相应的值。ResultSet记录集中包含符合SQL语句中条件的所有行,并且它通过一套get方法(这些get方法可以访问当前行中的不同列)提供对这些行中数据的访问。ResultSet使用next方法用于移动到ResultSet中的下一行,使下一行成为当前行。JDBC操作步骤及数据库连接操作本小节目标掌握JDBC的操作步骤掌握数据库驱动程序的配置方法可以使用JDBC进行数据库连接JDBC操作步骤1、加载数据库驱动程序
16、各个数据库都提供JDBC的驱动程序开发包,直接把JDBC操作所需要的开发包(一般为*.jar或*.zip)直接配置到classpath路径即可。2、连接数据库根据各个数据库厂商提供的不同连接地址完成数据库地址的连接,并提供连接数据库的用户名和密码。3、使用语句进行数据库操作数据库操作分为更新和查询两种,可以使用标准的SQL语句完成。4、关闭数据库连接关闭连接以释放资源JDBC操作步骤使用纯JavaJava数据库驱动程序连接这种驱动利用作为中间件的应用服务器来访问数据库。应用服务器作为一个到多个数据库的网关,客户端通过它可以连接到不同的数据库服务器。应用服务器通常都有自己的网络协议,Java客户
17、端程序通过JDBC驱动程序将JDBC调用发送给应用服务器,应用服务器使用本地驱动程序访问数据库,从而完成请求。如图所示。使用JDBC-ODBCJDBC-ODBC桥接器连接 因为微软公司推出的ODBC比JDBC出现的时间要早,所以绝大多数的数据库都可以通过ODBC来访问,当Sun公司推出JDBC的时候,为了支持更多的数据库提供了JDBC-ODBC桥。利用JDBC-ODBC访问数据库,需要客户的机器具有JDBC-ODBC桥驱动。ODBC驱动程序和相应数据库的本地API。在JDK中,提供JDBC-ODBC桥的实现类(sun.jdbc.odbc.JdbcOdbcDriver类)。这种桥机制实际上是把标
18、准的JDBC调用转换成相应的ODBC调用,并通过ODBC库把它们发送给支持ODBC对象的数据库,如图所示。JDBC的主要操作类及接口NO.NO.类及接口类及接口描述描述1java.sql.Driverjava.sql.Driver定义一个数据库驱动程序的接口定义一个数据库驱动程序的接口2java.sql.DriverManagerjava.sql.DriverManager用于管理用于管理JDBCJDBC驱动程序驱动程序3java.sql.Connectionjava.sql.Connection用于建立与特定数据库的连接,一个连接就是一个会话,建立连接后便用于建立与特定数据库的连接,一个连接
19、就是一个会话,建立连接后便可以执行可以执行SQLSQL语句和获得检索结果语句和获得检索结果4java.sql.Statementjava.sql.Statement一个一个StatementStatement对象用于执行静态对象用于执行静态SQLSQL语句,并获得语句执行后产生的结语句,并获得语句执行后产生的结果果5java.sql.PreparedStatemjava.sql.PreparedStatementent创建一个可以编译的创建一个可以编译的SQLSQL语句对象,该对象可以被多次运行,以提高执语句对象,该对象可以被多次运行,以提高执行的效率,该接口是行的效率,该接口是Stateme
20、ntStatement的子接口的子接口6java.sql.ResultSetjava.sql.ResultSet用于创建表示用于创建表示SQLSQL语句检索结果的结果集,用户通过结果集完成对数据语句检索结果的结果集,用户通过结果集完成对数据库的访问库的访问7java.sql.CallableStatemjava.sql.CallableStatementent用于执行用于执行SQLSQL存储过程存储过程8java.sql.SQLExceptionjava.sql.SQLException对数据库访问时产生的错误的描述信息对数据库访问时产生的错误的描述信息驱动器接口:Driver Driver
21、某个数数据库的驱动名称将驱动设置为Srting类型Driver类加载驱动名称抛出ClassNotFoundException执行其它操作判断YN驱动管理类:DriverManagerDriverManager 负责管理JDBC驱动程序的基本服务,作用于用户和驱动程序之间,负责追踪可用的驱动程序,并在数据库和相应驱动程序之间建立连接。另外,DriverManager类也处理驱动程序登录时间限制及登录和跟踪消息的显示等事务。NO.NO.方法方法描述描述1public static Connection getConnection(String url)getConnection(String ur
22、l)throws SQLException通过连接地址连接数据库2public static Connection getConnection(String url,String getConnection(String url,String user,String password)user,String password)throws SQLException通过连接地址连接数据库,同时输入用户名和密码MySQL数据库的连接地址格式jdbc:mysql:/IP地址:端口号/数据库名称jdbc协议:JDBC URL中的协议总是jdbc子协议:驱动程序名或数据库连接机制,例如:mysql子名称
23、:一种标识数据库的方法。必须遵循/主机各:端口/子协议的标准URL命名约定,例如:/localhost:3306/数据库驱动程序 数据库名称数据库名称类包名类包名驱动名称与驱动名称与URLURL地址地址SQL Server2000msbase.jar、mssqlserver.jar、msutil.jarcom.microsoft.jdbc.sqlserver.SQLServerDrivercom.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver:/localhost:1433;Dajdbc:microsoft:sq
24、lserver:/localhost:1433;DatabaseName=tabaseName=数据库名称数据库名称SQL Server2005sqljdbc.jarcom.microsoft.sqlserver.jdbc.SQLServerDrivercom.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver:/localhost:1433;databaseNamejdbc:sqlserver:/localhost:1433;databaseName=数据库名称数据库名称MYSQLmysql-connector-java-3.0.16
25、-ga-bin.jarcom.mysql.jdbc.Drivercom.mysql.jdbc.Driverjdbc:mysql:/localhost:3306/jdbc:mysql:/localhost:3306/数据库名称数据库名称oracleclass12.jaroracle.jdbc.driver.OracleDriveroracle.jdbc.driver.OracleDriverjdbc:oracle:thin:dssw2k01:1521:jdbc:oracle:thin:dssw2k01:1521:数据库名称数据库名称DB.DB2D.DB2Driverjdbc:db2:/local
展开阅读全文