JDBC API由Java编写的一组接口和类组成,为开发者提供通过应用开发访问数据库的工具/接口。作为低端接口,JDBC需要直接使用SQL命令语句对数据库进行操作。此外,通过JMS、EJB以及容器持续等方式,JDBC可以实现高层调用,即不直接通过SQL操作数据库。
BEA提供两种JDBC连接方式,即两层方式和多次驱动方式。所谓两层方式即Java应用客户端直接访问数据库,多层则通过jdbcpool、rmi-driver或者JTS实现。
两层:jdriver for oracle、infomix、mssql
多层:jdbcpool、rmi-dirver、JTS
关于数据库连接池(dbpool)
多层驱动(多层 drivers)中,weblogic提供的dbpool是利用、调度和管理一组与数据库创建的数据库连接。 其中,weblogic采用两层驱动方式与数据库建立连接并对连接组进行运行管理。
在服务器端使用连接缓冲池
对于访问数据库的服务器端应用,如servlet可以使用weblogic提供的连接缓冲池驱动。而两阶段提交交易则需要使用weblogic服务器提供的JDBC/XA驱动,如Jdriver for oracle。如果交易是分布式的,则使用JTS驱动。此外,可以使用JNDI和数据源对象来访问和使用数据库连接缓冲池。
客户端应用使用连接缓冲池
BEA 为客户端应用提供了多层JDBC RMI驱动,RMI驱动遵循SUN公司J2EE规范。WebLogic RMI驱动是3类驱动,通过RMI和DataSourc对象实现对数据库的连接。此外这种驱动还支持cluster中使用JDBC,在负载平衡、错误恢复等方面起重要作用。通过对数据源对象的设置,可以定义驱动是否支持交易(transactional)。
多连接池(MultiPool)
用于单服务配置,JDBC多连接池(Multipools)提供了备份连接池以及通过负载均衡增强数据库连接性能。MultiPools运行配置、维护和监控一组连接池, 在多服务器中不支持使用。
选择MultiPool的算法
可以选择下列方式对MultiPool 进行配置:
◆缓冲池备份,对连接池顺序标号执行;
◆负载均衡,基于轮询(round-robin )算法。
集群中使用JDBC
只吓多层数据库 配置相关,clustered JDBC 运行外部JDBC 客户端在不改变参数的情况下重新做jdbc连接或者重启jdbc连接。在某个集群成员服务崩溃的情况下,clustered JDBC通过数据源对象和weblogic RMI驱动实现对数据库的连接。其中数据源在weblogic管理平台(console)上进行配置。
关于数据源
数据源对象向JDBC客户端提供获取DBMS连接的路径,是数据库连接缓冲池和客户端编程之间的接口。每个数据源和一个***的数据源对象对应,该数据源对象类实现对连接缓冲池或分布式交易的支持。
JDBC API
Weblogic遵循sun公司JDBC标志,基于weblogic开发JDBC应用使用标志接口Java.sql接口包。它运行对数据库创建连接、处理结果集、发送SLQ语句等编程操作。
WebLogic JDBC 类定义
下表是在weblogic中常用的JDBC类,更详细的描述可参加sun公司Java.sql包和weblogic.jdbc包Java文档。
JDBC类描述
Driver每个驱动程序包都必须提供,用于创建driver和database之间的连接,并提供数据库连接相关信息。
DataSource描述DBMS或其它数据源细节,用于和数据源创建连接。
Statement向数据库系统发送简单的SQL语句。
PreparedStatement继承Statement,用于执行pre-compiled SQL 语句。
CallableStatement继承PreparedStatement,用于对数据库存储过程进行调用(可带参数)。
ResultSet结果集,包含SQL查询语句执行结果,提供结果查询方法。
ResultSetMetaData体统结果集中行列对象的类型、属性等信息。
DataBaseMetaData提供数据库系统整体信息,返回单值或结果集。
Clobsbuilt-in 类型, 在行中存储列字符型大对象。
Blobsbuilt-in 类型,在数据库表中存储列二进制大对象。
【编辑推荐】