标签:
JDBC 是 Java 数据库连接(Java DataBase Connectivity) 的缩写, 它提供了 Java 访问各种关系型数据库的一系列 API, 功能包括:
JDBC API 中主要几个接口:
JDK 中只定义了操作数据库相关的 API, 这些接口的实现, 也就是对不同数据操作的实现, 并不可能包含在 JDK 中. 这些接口一般都由第三方实现, 被称为 JDBC 驱动(driver).
JDBC 驱动的实现方式主要有四种:
1) JDBC-ODBC 桥. JDBC 驱动由 ODBC 桥接而来, 在 JAVA 刚出来的时候, 支持 ODBC 的驱动占绝大多数, 所以让这些数据库能支持 Java 的最快方式就是桥接:
2) Native-API 驱动. 对 JDBC API 的调用将会被转化成本地 C/C++ 驱动的调用, 这种方式比起第一种方式要快一些, 因为它没有了对 ODBC 的调用. 但是这种也是有局限的, 由于这些 C/C++ 本地驱动是由数据库厂商提供, 如果要更换数据库, 那么这些这些代码也要修改.
Oracle Call Interface (OCI) 就是属于这种类型, 以下是 JDBC 调用 OCI 的一个例子:
String query = "select /*+ result_cache */ * from emp where empno < : 1";
((oracle.jdbc.OracleConnection)conn).setImplicitCachingEnabled(true);
((oracle.jdbc.OracleConnection)conn).setStatementCacheSize(10);
PreparedStatement pstmt;
ResultSet rs;
for (int j = 0 ; j < 10 ; j++ )
{
pstmt = conn.prepareStatement (query);
pstmt.setInt(1,7500);
rs = pstmt.executeQuery();
while (rs.next( ) )
{ // see the values }
rs.close;
pstmt.close( ) ;
}
}
3) 纯Java中间件驱动. 使用了三层结构, 本地的 JDBC API 调用通过网络协议发送到中间件服务器, 中间件服务器解析后再调用实际的JDBC驱动(1,2,4型).如图:
4) 纯Java驱动. 数据库厂商提供了 Java 驱动, 它比起第一和第二种类型驱动要快, 并且不像第三种驱动那样依赖网络.
标签:
原文地址:http://www.cnblogs.com/pragmatic/p/4245902.html