JDBC接口
JDBC的接口分为两个层次:一个是面向程序开发人员的JDBC API,另外一个是底层的JDBC Driver API。
JDBC接口
1 面向程序开发人员的JDBC API
JDBC API被描述成为一组抽象的JAVA接口,使得应用程序可以对某个数据库打开连接,执行SQL语句并且处理结果。JDBC API主要包括下面这些接口。
-
java.sql.DriverManager: 处理驱动的调入并且对产生新的数据库连接提供支持
-
java.sql.Connection: 代表对特定数据库的连接
-
java.sql.Statement: 代表一个特定的容器,来对一个特定的数据库执行SQL语句
-
java.sql.ResultSet: 控制对一个特定语句的行数据的存取
其中,java.sql.Statement又有两个子类型
-
java.sql.preparedStatement: 用于执行预编译的SQL语句
-
java.sql.CallableStatement: 用于执行对一个数据库内嵌过程的调用
JDBC API接口实现的功能如图:
2 JDBC Driver API
JDBC Driver API是面向驱动程序开发商的编程接口。对于大多数数据驱动程序来说,仅仅实现JDBC API提供的抽象的类就可以了。也就是说,每一个驱动程序都必须提供对于java.sql.Connection,java.sql.Statement,java.sql.PreparedStatement和java.sql.ResultSet等主要接口的实现方法。如果目标DBMS提供OUT参数的内嵌过程,那么还必须提供java.sql.CallableStatement接口。当java.sql.DriverManager需要为一个特定的数据库URL加载驱动程序时,每个驱动程序就需要提供一个能实现java.sql.DriverManager接口的类。
目前,JDBC驱动程序可分为以下4种类型:
- JDBC-ODBC桥加ODBC驱动程序
- 本地API部分用JAVA来编写的驱动程序
- JDBC网络纯JAVA驱动程序
- 本地协议纯JAVA驱动程序
其他
Statement st=conn.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE)
TYPE_FORWORD_ONLY, 只可向前滚动;
TYPE_SCROLL_INSENSITIVE, 双向滚动,但不及时更新,就是如果数据库里的数据修改过,并不在ResultSet中反应出来。
TYPE_SCROLL_SENSITIVE, 双向滚动,并及时跟踪数据库的更新,以便更改ResultSet中的数据。
CONCR_READ_ONLY, 游标只读
CONCR_UPDATABLE, 可更新