java第八章分析.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
java第八章分析

JDBC的事务操作 JDBC的事务由Connection提供。Connection默认打开自动提交(关闭事务):每条SQL语句一旦执行便会立刻提交到数据库(永久生效,无法回滚) 。 开启事务:使用Connection的setAutoCommit()方法。 conn.setAutoCommit(false); 事务开始后,可以执行多条DML语句,但所做修改不会生效。当所有SQL语句执行完成后,程序调用Connection的commit()方法提交事务。 使用Connection的rollback()方法回滚事务。 Connection提供了设置中间点的方法: Savepoint setSavepoint():在当前事务中创建一个未命名的中间点。 返回代表该中间点的Savepoint对象。 Savepoint setSavepoint(String name):在当前事务中创建一个指定名称的中间点。 返回代表该中间点的Savepoint对象。 Connection提供rollback(Savepoint savepoint)方法回滚到指定中间点。 8.5 数据库连接池技术 问题:数据库连接的建立和关闭是很耗费系统资源的操作,特别在多层结构的应用环境中。 数据库连接池的解决办法:应用启动时主动建立足够的数据库连接,并将这些连接放到一个连接池。当请求数据库连接时,直接从连接池中取出连接;使用完毕后不关闭,直接将连接归还给连接池。 目的:提到程序的运行效率。 8.5.1 连接池的工作原理 数据库连接池负责分配、管理和释放数据库连接(Connection),它最大的优点是允许应用程序重复使用现有的数据库连接,而不需要总是创建新的连接。 C C C C C C DB 数据库连接请求 连接池 连接池的核心工作原理 连接池初始化时创建一定数量的数据库连接放到连接池中(“一定数量”是指连接池的最小连接数)。无论这些数据库连接是否被应用程序所使用,连接池都将一直保证至少有这么多的连接处于连接池中。 当应用程序向数据库连接池发送连接请求时,只要连接池中有处于空闲状态的连接,就可以直接取出来使用。如果少于最小连接数了,连接池会创建新的连接。这些大于最小连接数的数据库连接在使用完不会马上被释放,它将被放到连接池中等待重复使用或是空闲超时后被释放。 当应用程序向连接池请求的连接已经超过了最大连接数时,这些请求将被加入到等待队列中,直到前面有使用完的连接被放回到连接池,处于空闲状态,才可以继续使用这些连接。 当数据库连接的空闲时间超过最大空闲时间,则由连接池来彻底释放这些连接,以此来避免因为没有释放而引起的数据库连接遗漏。这项技术能明显提高对数据库操作的性能。 8.5.2 JDBC的数据库连接池技术 JDBC2.0规范引入数据库连接池技术。 数据库连接池是Connection对象的工厂。 数据库连接池的常用参数: 初始连接数 最大连接数 最小连接数 连接池每次增加的容量 JDBC的数据库连接池:用javax.sql.DataSource接口表示,接口实现由其他厂商提供实现。 Java开源数据库连接池 /20.htm 常用的开源连接池: DBCP:Apache软件基金组织下的开源连接池实现。 C3P0:Hibernate推荐使用的连接池。 Proxool * Statement或PreparedStatement每次执行SQL语句都会关闭上一次得到的ResultSet结果集。因此,在重新执行SQL语句之前,请先完成对上次得到的ResultSet 对象的处理。 * * * 信息科学与工程学院 软件工程系 面向对象程序设计(Java) 信息科学与工程学院 软件工程系 面向对象程序设计(Java) 第8章 JDBC 互联网上各种Web应用都要与数据库打交道,与数据库的交互是Web应用中必不可少的环节。 某论坛的应用 8.1 JDBC基础 JDBC(Java Database Connectivity):Java数据库连接 Sun公司提供的一套可以执行SQL语句的API,由一组用 Java 编程语言编写的接口和类组成。 特点:JDBC为数据库开发提供了标准的API,使用JDBC开发的应用可以跨平台运行,也可以跨数据库(全部使用标准的SQL)。 应用程序 JDBC 数据库 连接 使用 Sun制定了一组标准的API:只是接口,没有提供实现类。各数据库厂商提供实现类,这些类就是驱动程序。 程序员面向标准的JDBC API编程。需要切换数据库时,只需要更换不同的实现类(数据库驱动程序)。 面向接口编程 JDBC可以完成的三个基本工作: 建立与数据库的连接; 执行SQL语句; 获得SQL语句的执行结果。 JDBC访问DBMS的方式 Java 应用 程序

文档评论(0)

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

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

1亿VIP精品文档

相关文档