




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
n6.1 JDBC简介 n6.2 连接数据库 n6.3 访问数据库 n6.4 元数据操作 n6.5 JSP中分页功能的实现 n6.6 本章小结 第6章 JSP中访问数据库 6.1 JDBC简介 nJava 数据库连接 (Java Database Connectivity ,JDBC),是一种用于执行 SQL 语句的 Java API (应用程序设计接口),它由一组用 Java 编程 语言编写的类和接口组成。 n“只写一次,随处运行” . nJDBC API 既支持数据库访问的两层模型,同时也 支持三层模型。 JDBC简介 n在两层模型中,Java applet 或应用程序将直接 与数据库进行对话。两层模型如图6-1所示. 图6-1 JDBC数据库访问两层模型 n在三层模型中,命令先是被发送到服务的“中间 层”,然后由它将 SQL 语句发送给数据库。数据 库对 SQL 语句进行处理并将结果送回到中间层, 中间层再将结果送回给用户。其模型如图6-2所示 。 图6-2 JDBC数据库访问三层模型 6.2 连接数据库 nJDBC中通过提供DriverManager类和Connection 对象实现数据库的连接。 n连接数据库通常有两种形式: 1.通过JDBC-ODBC桥连接; 2.通过数据库系统专用的JDBC驱动程序实现连 接。 DriverManager nDriverManager 类是 JDBC 的管理层,作用于用 户和驱动程序之间。它跟踪可用的驱动程序,并 在数据库和相应驱动程序之间建立连接。该类负 责加载、注册JDBC驱动程序,管理应用程序和已 注册的驱动程序的连接。 nDriverManager类的常用方法见图6-1。 DriverManager 图6-1 DriverManager类的常用方法 n对于简单的应用程序,一般程序员只需要直接使 用该类的方法 DriverManager.getConnection进行连 接。通过调用方法 Class.forName将显式地加载驱 动程序类。 n使用JDBC-ODBC 桥驱动程序建立连接的语句如下 : Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver“); String url = “jdbc:odbc:ShopData“; DriverManager.getConnection(url, “sa“, “); DriverManager Connection nConnection 接口代表与数据库的连接。 nConnection接口的常用方法见图6-2。 表6-2 Conection接口的常用方法 JDBC-ODBC桥连接数据库 nSun公司提供的JDBC-ODBC桥可以访问任何支持ODBC的数 据库。用户只需设置好ODBC数据源,再由JDBC-ODBC驱动 程序转换成JBDC接口供应用程序使用。 nODBC数据源的配置步骤如下: (1)打开【控制面板】窗口,选择【管理工具】中的【数 据源 (ODBC)】打开ODBC数据源管理器,选择【系统 DSN】选项卡,单击【添加(D)】按钮,如图6-3所示。 (2)在数据源驱动程序窗口,选择“SQL Server”,然后单击 【完成】按钮,如图6-4所示。 (3)在数据源客窗口中,将数据源的名称设置为 “shopData”,该名称就是用来连接数据库的数据源名称, 但不一定是数据库的名称,同时选择SQL Server数据库服 务器的名称,这里选择本机(local),然后单击【下一步 】按钮如图6-5所示。 (5)选择数据库窗口中,指定数据源所对应 的数据库(这里为ShopSystem),然后单击 【下一步】,如图6-7所示。 (6)在完成并进行数据源的测试成功后,在 ODBC数据源管理器中即可看到新添加的数 据源“shopData”,如图6-8所示。 图6-3 添加系统DSN 图6-4 选择驱动程序 图6-5 指定数据源名称 图6-6 选择登录方式 图6-7 选择数据库 图6-8 成功添加shopData数据源 专用JDBC驱动程序连接数据 库 nMicrosoft SQL Server 2000 Driver for JDBC 。 nJTDS JDBC Driver 。 n其它数据库系统JDBC专用驱动程序连接方法 。 6.3 访问数据库 nStatement接口用于执行不带参数的简单SQL语句 ,用来向数据库提交SQL语句交返回SQL语句的执 行结果。 n创建一个Statement接口的一般形式如下: Connection con=DriverManager.getConnection(URL,“user“, “password“) Statement sm=con.createStatement(); Statement n创建了Statement接口的实例后,可调用其中的 方法执行SQL语句,JDBC中提供了三种执行方法 ,它们是execute()、executeQuery()和 executeUpdate()。 nexecuteUpdate方法 :这个方法一般用于执行 SQL的INSERT、UPDATE或DELETE语句,当执行 INSERT等SQL语句时,此方法的返回值是执行了 这个SQL语句后所影响的记录的总行数。 Statement nexecuteQuery方法 :一般用于执行SQL的SELECT 语句。它的返回值是执行SQL语句后产生的一个 ResultSet接口的实例(结果集)。 nexecute方法 :一般是在用户不知道执行SQL语句 后会产生什么结果或可能有多种类型的结果产生 时才会使用。execute()的执行结果包括如下三种 情况: 1.包含多个ResultSet(结果集); 2.多条记录被影响; 3.既包含结果集也有记录被影响。 Statement ResultSet nResultSet 对象包含了Statement和 PreparedStatement的executeQuery方法中 SELECT查询的结果集,即符合指定SQL 语句中条 件的所有行。 nResultSet.next 方法用于移动到 ResultSet 中 的下一行,使下一行成为当前行。结果集一般是 一个表,其中有查询所返回的列标题及相应的值 。 检索数据库 n课堂演示6.3:query.jsp通过SQL Server 2000 Driver For JDBC建立数据库连接,并查询product表中的前5种 商品的编号、类型、名称、单价和数量。 更新数据库 ninsert.jsp提供输入表单供用户输入商品信息, do_insert.jsp通过SQL Server 2000 Driver For JDBC建立 数据库连接后通过Statemen将商品信息插入到数据库中。 convert.jsp在添加商品信息之前进行编码转换。 图6-19 do_insert.jsp运行结果 图6-18 insert.jsp运行结果 PreparedStatement nPreparedStatement接口是Statement接口的子接 口,它直接继承并重载了Statement的方法。 nPreparedStatement接口的常用方法见图6-5。 图6-5 PreparedStatement接口的常用方法 n创建PreparedStatement对象形式如下: PreparedStatement psm=con.prepareStatement(“INSERT INTO users(u_name,u_pass) VALUES(?,?)“); n输入参数的赋值 PreparedStatement中提供了大量的setXXX方法 对输入参数进行赋值。根据输入参数的SQL类型 应选用合适的setXXX方法。 PreparedStatement CallableStatement n创建CallableStatement的对象主要用于执行存储 过程,可以使用DatabaseMetaData类中的有关方 法去获取相关信息以查看数据库是否支持存储过 程。 n调用类Connection中的方法prepareCall可以创建 一个CallableStatement的对象。一般形式如下: CallableStatement csm=con.prepareCall(“call test(?,?)“); nOUT参数类型注册的方法: 在执行一个存储过程之前,必须先对其中的OUT 参数进行类型注册 。 nCallableStatement提供两种方法进行类型注册 : registerOutParamenter(int parameterIndex,int sqlType); registerOutParameter(int parameterIndex.,int sqlType,int scale); CallableStatement n查询结果的获取 由于CallableStatement允许执行带OUT参数的存 储过程,所以它提供了完善的getXXX方法来获取 OUT参数的值。除了IN参数与OUT参数外,还有一 种INOUT参数。INOUT参数具有其它两种参数的全 部功能,可以用setXXX方法对参数值进行设置, 再对这个参数进行类型注册,允许对此参数使用 getXXX方法。执行完带此参数的SQL声明后,用 getXXX方法可获取改变了的值。 CallableStatement 执行存储过程演示结果 6.4 元数据操作 nDatabaseMetaData接口主要是用来得到关于数据 库的信息。 nDatabaseMetaData类的实例对象是通过 Connection接口的getMetaData方法创建的。 nDatabaseMetaData提供大量获取信息的方法,这 些方法可分为两大类:一类返回值为boolean型, 多用以检查数据库或驱动器是否支持某项功能; 另一类则用获取数据库或驱动器本身的某些特征 值,返回值可能为整型,可能为字符串型,甚至 可能是ResultSet接口的对象。 DatabaseMetaData nDatabaseMetaData接口常见方法如图6-6所示。 图6-6 DatabaseMetaData接口的常用方法 ResultSetMetaData nResultSetMetaData类用来获取数据库表的结构。 nResultSetMetaData接口的常用方法见图6-7。 图6-7 ResultSetMetaData接口的常用方法 6.5 JSP中分页功能的实现 n用户在网页上进行数据查询时,如果查询 的结果比较多不能够在一页将信息全部显 示,这时就需要将查询结果分页以方便用 户查看。 n课堂演示6.9 6.6 本章小结 本章学习了如下内容: nJDBC简介:包括Java连接数据库的四种方法、 JDBC的基本原理。 n连接数据库:包括DriverManager类、Connection 接口、通过JDBC-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 校园校外安全教育班会
- 在校园的安全教育
- 水管空气打压施工方案
- 酒店厨房设备安装工程方案
- 政治期末考试题及答案
- 世界建筑节活动方案设计
- 税务局出口退税出口货物劳务专项税务合规合同
- 真题二建考试题zhent及答案
- 离婚抚养权协议书范本两份
- 机关单位食堂承包与智慧食堂建设协议
- 2025-2026学年地质版(2024)小学体育与健康三年级(全一册)教学设计(附目录P123)
- 装配式建筑施工技术在建筑工程中的应用
- 《大客户管理和销售》
- 公司VI、SI设计内容选项
- YY/T 0698.2-2022最终灭菌医疗器械包装材料第2部分:灭菌包裹材料要求和试验方法
- 沪教牛津版小学英语五年级上册全册集体备课含教学计划及进度表
- 全国统一建筑安装工程工期定额
- 5.《秋天的怀念》课件+教学设计+视频朗读
- 上海破产管理人扩容考试参考题库(含答案)
- 涉河建设项目审查管理体会及探讨课件-涉河建设项目管理及建设方案审查技术标准课件
- DB44∕T 1168-2013 轮扣式钢管脚手架构件
评论
0/150
提交评论