JSP中用JDBC访问数据库.ppt

  1. 1、本文档共45页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据库存储过程调用 用CallableStatement对象能以标准形式调用存储过程: 所有的关系数据库都可以用该接口的对象以标准形式调用储存过程;该对象调用存储过程有两种形式: 不带结果参数的形式:{call 过程名[(?,?,...)]} 带结果参数的形式:{? = call 过程名[(?, ?, ...)]} 其中:结果参数是一种输出参数,是储存过程的返回值。 两种形式都可带多个输入、输出参数, 问号用作参数的占位符 处理存储过程接口的使用步骤: 用Connection类的prepareCall()创建CallableStatement对象。 如:CallableStatement cst=con.prepareCall({call proDemo(?)}); 设置输入参数: 通过setXXX()方法给CallableStatement设置 注册输出参数: 执行该对象前必须注册各输出参数的JDBC类型 注册JDBC 类型用registerOutParameter()方法完成。 语句执行完后,CallableStatement的getXXX()方法将取回参数值。 其中存储过程的返回值也作为输出参数。 存储过程调用示例 为数据库建立存储过程如下: 调用数据库存储过程: 事务处理 事务:一组组织在一起的数据库操作序列(多个SQL语句) 同一事务中的操作要么全做, 要么全不做, 才能保证数据库的一致性和完整性,因此是个不可分割的工作单位。 数据库事务的ACID特性: 原子性(atomicity): 指事务执行单元是一个不可分割的单元,这些单元要么都执行,要么都不执行。 一致性(consistency): 指无论执行了什么操作,都应保证数据的完整性和业务逻辑的一致性。 隔离性(isolation)或称为事务的串行化: 指事务执行过程中不存在当前所处理数据正被另一事务处理的情况。 持久性(durability): 指事务结束后, 执行单元操纵的数据被保存在数据库中, 这些数据的保存状态是永久性的, 即使数据库系统崩溃, 数据也不会消失。 默认情况下, JDBC的新连接处于自动提交模式。 JDBC中的事务处理 JDBC中的事务处理有两种方式: 自动提交: 每当执行完一条SQL时就会提交事务; 手动提交: 必须用Connection接口的commit()方法才提交, 或用rollback()回滚事务, 以使当前事务结束, 另一事务随即开始。 用Connection的setAutoCommit()可设置事务提交方式 void setAutoCommit(boolean?autoCommit) 参数:为true启用自动提交模式;为false禁用自动提交模式 void commit():提交事务 使所有上一次提交/回滚后进行的更改持久化,并释放此Connection 对象当前持有的所有数据库锁。 此方法只应该在已禁用自动提交模式时使用。 void rollback():回滚事务 取消在当前事务中进行的所有更改, 并释放此Connection对象当前持有的所有数据库锁。 此方法只应该在已禁用自动提交模式时使用。 事务处理示例——自动提交 事务处理示例——手动提交 JDBC对事务管理级别 JDBC的事务隔离级别: Connection对象的setTransactionLevel()方法可指定事务级别。 低隔离级别: 可增强多用户同时访问数据的能力, 但增加了用户可能遇到的并发副作用(如脏读或丢失更新)的数量。 高隔离级别: 能减少用户遇到并发副作用的类型, 但需更多的系统资源, 并增加了一个事务阻塞其他事务的可能性。 小结: 三种执行SQL语句的方法 executeQuery()返回执行后的单个结果集,所以通常用于SELECT语句。 executeUpdate()返回一个整数, 指示受影响的行数(即更新计数)。 execute()返回一个boolean值, 该方法执行后可以得到多个结果集、多个更新计数或二者的组合。 DAO和数据库连接池 为什么需要DAO模式 多层结构系统的主要特点: 安全性: 中间层隔离了客户对数据库服务器的访问, 保护了数据库的安全。 易维护性: 由于业务逻辑位于单独的一层,当业务规则发生变化后, 客户端程序基本不作改动。 快速响应: 通过负载均衡及中间层缓冲数据, 可提高对客户端的响应速度。 系统扩展灵活: 基于多层分布式式结构, 当业务增大时, 可在中间层部署更多的应用服务器, 提高对客户端的响应, 而所有变化对客户透明。 DAO(Data Access Object)数据访问对象: DAO与数据库或数据文件等持久层打交道,夹在业务逻辑与数据库资源中间,专门用于数据处理。 DAO模式 DAO模式是标准J2EE设计模式之一

文档评论(0)

shaoye348 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档