1、jdbc的驱动程序类型:
第一类:是通常称为jdbc-odbc桥的jdbc驱动程序。这是sun公司提供的原始jdbc
实现,用于快速采用jdbc标准。基本上,调用从jdbc api被映射为odbc api。这
样,当jdbc刚刚投入使用时,第一类驱动程序使开发人员可以利用市场上现有的
odbc驱动程序。在今天的实际应用中,很少使用第一类驱动程序。
第二类:是把jdbc api直接映射为数据库供应商提供的专用客户端api的jdbc驱动
程序。对于每个包含针对于数据库客户端api进行的真对与平台的访问的驱动程序
来说,都存在一个本机代码库。例如,使用oracle type2驱动程序时,本机代码
就叫做oracle客户端接口库。这类驱动程序经常用于在企业java应用程序中。
第三类:是支持三层jdbc访问的jdbc驱动程序。在java发展的早期,当applet十
分流行时,构建直接访问数据库的applet是很常见的。然而,applet的安全模型
禁止applet访问多台web服务器上的数据资源。type3 jdbc驱动程序充当applet或
其他应用程序访问数据库的代理。在实践中,不经常使用。
第四类:是完全使用java编写的jdbc驱动程序,它直接与数据库实例对话。这些
驱动程序拥有足够的智能,可以知道数据库实例使用的底层协议。type4 驱动程
序师使用java访问数据库的未来趋势,也是现今实际使用最广泛的驱动程序。随
着java代码和jvm的效率不断提高,这些驱动程序由于自身的简单性和易用性而更
加具有吸引力。
2、池化到数据库的连接有许多原因:
(1)为访问站点的每个单独的客户端创建一个新连接开销太大。与每次为每个客
户端创建新数据库连接相比较,使用连接池要高效得多。
(2)在应用程序中,显示的对细节(比如应用程序中DBMS的密码)进行编码是相
当脆弱的做法,而且缺乏灵活性。这在使用j2ee服务(比如jsp)的情况下特别有
益,因为它们通常把源代码和应用程序保存在一起。
(3)可以修改甚至特换数据库管理系统,而不对应用程序代码产生多大影响。
(4)传入的连接的数目有限时,数据库是最有效的。借助连接池,可以限制到
DBMS的连接数目。
3、打开数据库连接时一个开销很大的过程。在负载高峰期,通过打开到数据库的
新连接来扩充连接池容量可能会引起性能问题。尽管扩充连接池容量是一项有用
的功能,但对于要求最佳性能的应用程序来说,最佳时间是把连接池的初始容量
设置为连接池的最大容量。
4、当事务跨越多个数据库或异构资源管理器(比如排队系统)时,应该始终使用
支持全局事务和ejb的jta感知的DataSource。这个属性确保Weblogic Server能够
保护事务和底层数据库或资源管理的完整性。
5、使用jdbc时,有很多需要记住的最佳实践。应确保以正确的顺序释放jdbc对象
,并在jdbc访问finally块中关闭Connection对象。不要在finally块中放入多于
一条的close()语句以重载它,例如,如果关闭ResultSet的过程中出现异常,
finally块在、的其余部分就不会被执行,包括close()语句的剩余部分。如果
close()语句之一是Connection对象,这会白白占用一个数据连接,从而限制应用
程序的性能。
6、应用服务器和数据库确保了事务具有四个基本的属性,可以将它们记为acid:
(1)原子性(Atomicity)一个事务中的操作要么全部成功完成,要么完成全回
滚到事务被初始化之前的状态。
(2)一致性(Consistency)事务必须保持它的环境,以及它在确保完整性的状
态下操作的任何数据。
(3)隔离性(Isolation)一个事务中的操作必须在独立于其他事务的情况下执
行,而且结果必须反映这种独立性。
(4)可持续性(Durability)事务中操作的所有结果必须是可恢复的,并被永久
性存储通常,这类信息室在存储与某种类型的磁盘上的日志中进行维护的。