神通JDBC对于JDBC规范的支持¶
神通数据库 JDBC驱动是基于JDBC3.0规范而实现的。在以前的JDBC2.0规范中,将API分为核心API和扩展API。JDBC3.0规范包含了JDBC2.0规范的核心API以及JDBC2.0的扩展API,并添加了一些新的特性。神通数据库 JDBC驱动实现了JDBC3.0规范中的大部分接口,主要包括下列接口:
java.sql.Dirver
java.sql.Connection
java.sql.Statement
java.sql.PreparedStatement
java.sql.CallableStatement
java.sql.ResultSet
java.sql.DatabaseMetaData
java.sql.ResultSetMetaData
java.sql.ParameterMetaData
java.sql.Blob
java.sql.Clob
java.sql.Savepoint
javax.sql.DataSource
javax.sqlConnectionPoolDataSource
javax.sql.PooledConnection
神通数据库JDBC驱动对于上述每个接口的方法,基本上提供了实现。 除了JDBC要求的基本特性之外,比如执行一般的SQL语句,可以对从结果集取得数据等,遵照JDBC3.0的规范, 神通数据库JDBC驱动还提供了一些JDBC的特殊特性:
按照JDBC规范,提供了类型之间的相互转换,比如int和String之间的转化,String和java.sql.Date之间的转化, 具体的内容,请参照《JDBC3.0规范》
对于Statement,PreparedStatement和CallableStatement提供了对于批处理语句的支持。 通过批处理语句,可以提高应用程序的性能。具体内容可以参照批处理一章。
实现了对ResultSet的各种特性的支持,这些特性是在创建Statement对象、PreparedStatement对象和CallableStatement对象时指定的。
Type包括:
- TYPE_FORWARDONLY
- TYPE_SCROLL_INSENSITIVE
- TYPE_SCROLL_SENSITIVE
Concurrency包括:
- CONCUR_READ_ONLY
- CONCUR_UPDATABLE
Holdability包括:
- HOLD_CURSORS_OVER_COMMIT
- HOLD_CURSOR_AT_COMMIT
在神通数据库JDBC驱动中对这些特性都给出了较好的实现。具体说明将在结果集一章中给出。
允许用户在Statement和ResultSet中设置fetchSize,通过设置fetchSize,对于记录数很大的情况下,可以极大的降低对内存的使用量。
提供了获取auto generated key的方法。数据库在新插入一条记录时,往往会自动产生该记录的唯一标识。 神通数据库JDBC驱动中给出了让用户获得auto generated key的方法。
对于PreparedStatment,CallableStatmen,用户可以调用getParameterMetaData()方法,获得关于用户在SQL语句中参数的信息。 这些参数信息都分装在ParameterMetaData对象中。
同样对于PreparedStatment,CallableStatmen,用户可以调用getMetaData()方法,获得关于SQL语句执行完后结果集的信息。 这些结果集信息都分装在ResultSetMetaData对象中。这样用户在还没有执行SQL语句的情况下,获得关于结果集的信息。
支持多结果集返回。在执行完查询后,用户可以调用getMoreResults()方法,获得多个结果集。
支持对于Blob和Clob这两种接口的所有操作,包括定位更新数据,截取大对象,设置流进行操作等。具体在大对象一章中给出。
支持保存点Savepoint,实现了设置、删除、回退Savepoint。增强了用户对事务的操作能力。