JDBC API
发布时间: 2017-11-25
阅读数: 18649
JDBC 2.0 API:
java.sql.*;
javax.sql.*;
JDBC 2.0 扩展API:
1、采用了新的方法连接数据库DataSource Interface:实现数据库连接,可以代替DriverManager类
2、Connection Pooling:连接缓冲池
3、Distributed Transactions:分布式交换
4、Rowsets:行集,借助行集对象可以通过网络来传递数据
5、JNDI-Java Naming and Directory Interface:提供了用来连接命名和目录服务的一个接口
JDBC 3.0 新扩展API
1、元数据API:DatabaseMetaData接口可以检索SQL类型的层次结构,一种新的ParameterMetaData接口可以描述PreparedStatement对象中参数的类型和属性
2、CallableStatements中已命名的参数
3、ResultSet可保持性
一个可保持的游标或结果,当游标在包含它的事务被提交后,也不会自动地关闭
JDBC API重要接口
java.sql.DriverManager;处理驱动的调入并且对产生新的数据库执行SQL语句,是JDBC的管理层,作用于用户和驱动程序之间,他也处理驱动程序登陆时间限制及登陆和跟踪消息的显示等事务,直接使用的唯一方法是DriverManager.getConnection()用于建立与数据库的连接,JDBC允许用户调用DriverManager的方法:getDriver(),getDrivers(),registerDriver()以及Driver的方法connect();
java.sql.Connection;代表对特定数据库的连接,为应用程序提供对话的Statement对象和它的子类
java.sql.Statement;代表一个特定的容器,来对一个特定的数据库执行SQL语句,其分为两个子类:
java.sql.PreparedStatement;用于执行预编译的SQL语句
java.sql.CallableStatement;用于执行对一个数据库内嵌过程的调用
java.sql.ResultSet;控制对一个特定语句的行数据的存取
java.sql所有接口:
Array SQL数组对象
Blob是二进制大对象,是大量二进制数据对象的关系数据库表示,可以把BLOB当作一个java对象管理,而不用从数据库检索BLOB的所有潜在数据
CallableStatement是对PreparedStatement接口的扩展,提供了对SQL已存储过程的支持
Clob是SQL3类型,代表字符大对象,与BLOB一样,但他表示用某种字符编码存储的文本
Connection是数据库对话的JDBC表示,为应用程序提供了对话的Statement对象和他的字类
DatabaseMetaData这个类提供了关于Connection对象连接到的数据库许多消息
Driver代表一个特定的JDBC实现,他应当创建一个本身的实例,并使用DriverManager类注册这个实例,并调用Class.forName()装载驱动
ParameterMetaData是用来获得一个PreparedStatement对象中参数的属性和类型,是其元数据
PreparedStatement表示一条或者多条预处理SQL语句
Ref是数据库结构SQL类型的值的引用
* Array 代表SQL数组对象。
* Blob 代表SQL BLOB,是二进制的大对象(binary large object)。
* CallableStatement 是对PreparedStatement接口的扩展,提供对SQl已存储过程的支持。
* Clob 是SQL3类型,代表字符大对象(character large object).
* Connection 是数据库对话的JDBC表示,为应用程序提供了对话的Statement对象和它的子类;也处理这些语句的事物管理。
* DatabaseMetaData 提供了关于Connection对象连接到的数据库的许多信息。一般以JDBC Resultset 对象的形式返回这些信息。
* Driver 代表一个特定的JDBC实现。装载时,创建一个本身的实例,并使用DriverManager类注册这个实例。
* ParameterMetaData 用来获取一个PreparedStatement对象中参数的属性和类型。
* preparedStatement 表示一条或多条预处理SQL语句。
* Ref 是数据库中结构SQL类型的值的引用,可通过把它作为一个参数传递给一条SQL语句并执行此语句来间接引用这个Ref.
* ResultSet 代表一个数据库结果集。
* ResultSetMetaData 提供关于ResultSet实例中列类型和属性的元信息。
* Savepoint 代表一个事物可在Connection.rollback()方法进行引用的点,当一个事物回退的时候,所有在这个Savepoint之后的操作都会被撤消;可带名字以标记。
* SQLData 通过定制的Java对象来实现。
* SQLInput 代表一个来自数据库的数据流。
* SQLOutput 代表一个发送到关系数据库的数据流。
* Statement 代表嵌入式的SQL语句,应用程序用它来进行数据库的访问。
* Struct 映射SQL3的结构化类型。
* Date 处理java.sql.Data中的函数的子集。
* DriverManager 用来存放系统中所有注册了的JDBC驱动程序的主要列表。
* DriverPropertyInfo 提供了一个驱动程序连接到数据库所需要的信息。
* SQLPermission 继承了BasicPermission类,用来设置SQLPermission选项列表。安全管理器将对象调用DriverManager.setLogWriter方法或者DriverManager.setLogStream方法的Applet程序进行安全性检查。
* Time 映射到SQL的Time 数据类型。
* Timestamp 用于Java Date类的SQL表示的这个类设计为SQL Timestamp.可提供SQL Timestamp值所需的获得纳秒级的能力。
* Types 具有代表SQL数据类型的静态属性。
JDBC类库提供的一些例外类:
BatchUpdateException;DataTruncation;SQLException;SQLWarning.
ORACLE:scott tiger system manager
decimal 和 numeric
带定点精度和小数位数的 numeric 数据类型。
decimal[(p[, s])] 和 numeric[(p[, s])]
定点精度和小数位数。使用最大精度时,有效值从 - 10^38 +1 到 10^38 - 1。decimal 的 SQL-92 同义词是 dec 和 dec(p, s)。
p(精度)
指定小数点左边和右边可以存储的十进制数字的最大个数。精度必须是从 1 到最大精度之间的值。最大精度为 38。
s(小数位数)
指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 p 之间的值。默认小数位数是 0,因而 0 <= s <= p。最大存储大小基于精度而变化。
对于精确数:
precision 指的是数字中小数点前后的所有位数【精度】
scale 指的是数字中小数点后的位数【标度,范围】
对于浮点数:
指的是对应的规格化后的基数的精度和标度。