书签 分享 收藏 举报 版权申诉 / 72
上传文档赚钱

类型JSP数据库核心技术课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:5191742
  • 上传时间:2023-02-16
  • 格式:PPT
  • 页数:72
  • 大小:1.44MB
  • 【下载声明】
    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

    26、host:6589/jdbc:db2:/localhost:6589/数据库名称数据库名称Derbyderby.jarorg.apache.derby.jdbc.EmbeddedDriverorg.apache.derby.jdbc.EmbeddedDriverjdbc:derby:/localhost:1525:jdbc:derby:/localhost:1525:数据库名称数据库名称;create=falsecreate=falseAccess数据库的连接 Access数据库管理系统是Microsoft Office系统软件中的一个重要组成部分,它是一个关系型桌面数据库管理系统,可以用来建

    27、立中、小型的数据库应用系统,应用非常广泛。同时,由于Access数据库操作简单、使用方便等特点,许多小型的Web应用程序也采用Access数据库。Access数据库的驱动为:String driverClass=sun.jdbc.odbc.JdbcOdbcDriver;连接Access数据库需要通过JDBC-ODBC方式,不需要引入任何包。连接Access数据库的URL为:String url=jdbc:odbc:driver=Microsoft Access Driver(*.mdb);DBQ=数据库名;执行数据库更新操作本节目标可以使用Connection对象取得Statement实例可以

    28、使用Statement进行数据增加、修改、删除操作数据库连接接口:Connection Connection java.sql.Connection接口表示与特定数据库的连接,并在连接的上下文中可以执行SQL语句并返回结果。通过Connection对象可以获取一个数据库和表等数据库对象的详细信息。Connection接口中常用的方法NO.NO.方法方法描述描述1Statement Statement createStatement()createStatement()throws throws SQLExceptionSQLException创建一个Statement对象2-1Prepared

    29、Statement PreparedStatement prepareStatement(String prepareStatement(String sql)sql)throws SQLExceptionthrows SQLException创建一个PreparedStatement类型的对象2-2PreparedStatement PreparedStatement prepareStatement(String prepareStatement(String sql,int resultSetType,int sql,int resultSetType,int resultSetConc

    30、urrency)resultSetConcurrency)throws SQLExceptionthrows SQLException创建一个PreparedStatement类型的对象,为了使用JDBC2.0中创建可滚动的结果集3CallableStatement CallableStatement prepareCall(String prepareCall(String sql)sql)throws SQLExceptionthrows SQLException创建一个CallableStatement对象,此对象专门用于调用数据库的存储过程4boolean isClosed()thro

    31、ws SQLExceptionboolean isClosed()throws SQLException判断连接是否已关闭5void void close()close()throws SQLExceptionthrows SQLException关闭数据库执行静态SQLSQL语句接口:StatementStatementjava.sql.Statement接口用来执行静态的SQL语句,并返回执行结果。处理静态的SQL语句主要分为3种Statement对象:Statement、PreparedStatement、CallableStatement。它们作为在指定连接上执行SQL语句的容器。这3

    32、种Statement对象的关系如图所示。StatementPreparedStatementCallableStatement继承继承执行静态SQLSQL语句接口:StatementStatementNO.NO.方法方法描述描述1int int executeUpdate(String sql)executeUpdate(String sql)throws throws SQLExceptionSQLException执行数据库更新的SQL语句,例如:insert、update、delete等语句,返回更新的记录数2ResultSet ResultSet executeQuery(String

    33、 sql)executeQuery(String sql)throws throws SQLexceptionSQLexception执行数据库查询操作,返回一个结果集对象,例如,执行SELECT查询语句3void addBatch(String sql)throws void addBatch(String sql)throws SQLExeptionSQLExeption增加一个待执行的SQL语句4int executeBatch()throws SQLExceptionint executeBatch()throws SQLException批量执行SQL语句5void void clo

    34、se()close()throws SQLExceptionthrows SQLException关闭Statement操作6boolean execute(String sql)throws boolean execute(String sql)throws SQLExceptionSQLException执行SQL语句RESULTSET接口本小节目标掌握ResultSet接口的主要作用使用ResultSet接口查询数据返回查询结果集接口:ResultSetResultSet java.sql.ResultSet接口类似于一个数据表,通过该接口的实例可以获得检索结果集以及对应的数据表相关信息

    35、。Result实例通过执行查询数据库的语句生成。一个Statement对象在同一时刻只能打开一个ResultSet对象。可以通过字段的序号或者字段的名字来制定获取某个字段的值。执行静态SQLSQL语句接口:StatementStatementNO.NO.方法方法描述描述1int int executeUpdate(String sql)executeUpdate(String sql)throws throws SQLExceptionSQLException执行数据库更新的SQL语句,例如:insert、update、delete等语句,返回更新的记录数2ResultSet ResultSe

    36、t executeQuery(String sql)executeQuery(String sql)throws throws SQLexceptionSQLexception执行数据库查询操作,返回一个结果集对象,例如,执行SELECT查询语句3void addBatch(String sql)throws void addBatch(String sql)throws SQLExeptionSQLExeption增加一个待执行的SQL语句4int executeBatch()throws SQLExceptionint executeBatch()throws SQLException批量

    37、执行SQL语句5void void close()close()throws SQLException throws SQLException关闭Statement操作6boolean execute(String sql)throws boolean execute(String sql)throws SQLExceptionSQLException执行SQL语句ResultSet接口的常用操作方法NO.NO.方法方法描述描述1Boolean Boolean next()next()throws SQLExceptionthrows SQLException将指针移到下一行2Int Int

    38、getInt(int columnIndex)getInt(int columnIndex)throws throws SQLExceptionSQLException以整数形式按列的编号取得指定列的内容3Int Int getInt(String columnName)getInt(String columnName)throws SQLExceptionthrows SQLException以整数形式取得指定列的内容4Float Float getFloat(int columnIndex)getFloat(int columnIndex)throws throws SQLExceptio

    39、nSQLException以浮点数形式按列的编号取得指定列的内容5Float Float getFloat(String columnName)getFloat(String columnName)throws throws SQLExceptionSQLException浮点数形式取得指定列的内容6String String getString(int columnIndex)getString(int columnIndex)throws throws SQLExceptionSQLException以字符串形式按列的编号取得指定列的内容7String String getString(S

    40、tring columnName)getString(String columnName)throws throws SQLExceptionSQLException字符串形式取得指定列的内容8Date Date getDate(int columnIndex)getDate(int columnIndex)throws throws SQLExceptionSQLException以Date形式按列的编号取得指定列的内容9Date Date getDate(String columnName)getDate(String columnName)throws throws SQLExcepti

    41、onSQLException以Date形式取得指定列的内容PREPAREDSTATEMENT接口本小节目标掌握PreparedStatement接口的工作原理可以使用PreparedStatement进行数据库的更新及查询操作执行预编译的SQLSQL语句接口:PreparedStatementPreparedStatementPreparedStatement接口继承并扩展了Statement接口,用来执行动态的SQL语句。与直接使用Statement不同的是,PreparedStatement在操作时,是先在数据表之中准备好一条SQL语句,但是此SQL语句的具体内容暂时不设置,而是之后再进行

    42、设置,以插入数据为例:执行预编译的SQLSQL语句接口:PreparedStatementPreparedStatement1、创建PreparedStatement对象 例如,创建包含带两个参数占位符的SQL语句PreparedStatement对象:PreparedStatement pstmt=con.prepareStatement(UPDATE wy_table SET m=?WHERE x=?);2、传递多参数 例如,将第一个参数设为“王”,第二个参数设为“毅”:pstmt.setString(1,“王”);pstmt.setString(2,“毅”);PreparedStatem

    43、ent的基本操作方法NO.NO.方法方法描述描述1int int executeUpdate()executeUpdate()throws SQLExceptionthrows SQLException执行设置的预处理SQL语句2void void setInt(int parameterIndex,int x)setInt(int parameterIndex,int x)throws SQLExceptionthrows SQLException指定索引编号,并设置整数内容3void void setFloat(int parameterIndex,float xsetFloat(int

    44、parameterIndex,float x)throws SQLExceptionthrows SQLException指定索引编号,并设置浮点数内容4void void setString(int parameterIndex,String x)setString(int parameterIndex,String x)throws SQLExceptionthrows SQLException指定索引编号,并设置字符串内容5void void setDate(int parameterIndex,Date x)setDate(int parameterIndex,Date x)throw

    45、s SQLExceptionthrows SQLException指定索引编号,并设置java.sql.Date类型的日期内容注意:关于日期的输入问题:在正常情况下都使用java.util.Date表示日期,但是在PreparedStatement中如果要想使用日期则改须使用java.sql.Date类型。String birthday=2007-08-27;/生日java.util.Date temp=null;/声明一个Date对象temp=new SimpleDateFormat(yyyy-MM-dd).parse(birthday);/通过SimpleDateFormat类将字符串变为

    46、java.util.Date类型java.sql.Date bir=new java.sql.Date(temp.getTime();/通过java.util.Date取出具体的日期数,并将其变为java.sql.Date类型CALLABLESTATEMENTCALLABLESTATEMENT存储过程接口处理存储过程语句接口:CallableStatement CallableStatement(1 1)CallableStatement对象为所有的关系性数据库提供了一种以标准形式调用已储存过程的方法。该对象可以处理两种形式的存储过程:一种形式带结果参数,另一种形式不带结果参数。结果参数是一种

    47、输出参数,是已储存过程的返回值。两种形式都可带有数量可变的输入、输出或输入和输出的参数。问号将用作参数的占位符。在JDBC中,调用存储过程的语法如下:call 过程名(?,?,.)返回结果参数的过程的语法如下:?=call 过程名(?,?,.)处理存储过程语句接口:CallableStatement CallableStatement(2 2)1创建CallableStatement对象 CallableStatement对象是用Connection类中的prepareCall()方法创建。其中,存在有两个变量,不含结果参数代码设置如下:CallableStatement cstmt=con.

    48、prepareCall(call getTestData(?,?);2输入和输出参数 将输入参数传给CallableStatement对象是通过setXXX()方法完成的。如果存储过程返回的是输出参数,则在执行CallableStatement对象前必须先注册每个输出参数的JDBC类型。注册JDBC 类型是用registerOutParameter()方法来完成的。语句执行完后,CallableStatement的getXXX()方法将取回参数值。例如:处理存储过程语句接口:CallableStatement CallableStatement(2 2)CallableStatement cs

    49、tmt=con.prepareCall(call getTestData(?,?);cstmt.registerOutParameter(1,java.sql.Types.TINYINT);cstmt.registerOutParameter(2,java.sql.Types.DECIMAL,3);cstmt.executeQuery();/从第1个输出参数中取出一个Java字节byte x=cstmt.getByte(1);/从第2个输出参数中取出一个BigDecimal对象(小数点后面带3位)java.math.BigDecimal n=cstmt.getBigDecimal(2,3);3

    50、执行存储过程 当设置完存储过程的参数后,就可以通过CallableStatement类中的方法执行该存储过程。CallableStatement类执行存储过程的方法如同Statement方法。JDBC 2.0中RESULTSET操作本小节目标了解JDBC2.0提供的主要新特性掌握可滚动结果集的操作掌握结果集的增加、修改、删除操作了解批处理操作在JDBC 2.0,加强了结果集ResultSet的功能,可以直接使用ResultSet执行更新的操作,或者实现双向滚动。JDBC 2.0加强了批处理数据的操作思考:JDBC结构图JDBC APIJDBC API结构图其它数据库MysqlOracleJAV

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:JSP数据库核心技术课件.ppt
    链接地址:https://www.163wenku.com/p-5191742.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库