您的位置:首页 > 编程语言 > Java开发

JDBC总结06-JavaBean 的定义、JDBC2.0 新特性、SQL3.0 规范中的新类型

2011-12-04 22:08 309 查看
JavaBean 的定义:

1、 是一个普通的 Java 类

2、 在结构上没有预先的规定,不需要容器,不需要继承类或实现接口

3、 要求必须放在包中,要求实现 Serializable 接口

4、 要求有一个无参的构造方法.

5、 属性的类型必须保持唯一,返回值必须和 set 方法参数类型一致

6、 对每个属性要有对应的 get 和 set 方法。注:隐藏属性可以没有

7、 可以有外观作为显示控制,事件机制。

JDBC2.0 新特性:

1、Scrollability 结果集可滚动

滚动:可双向支持绝对与相对滚动,对结果集可进行多次迭代。

Con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,

ResultSet.CONCUR_UPDATABLE);

TYPE_FORWARD_ONLY:

该常量指示指针只能向前移动的 ResultSet 对象的类型。

TYPE_SCROLL_SENSITIVE:

该常量指示可滚动并且通常受其他的更改影响的 ResultSet 对象的类型。

CONCUR_UPDATABLE:

该常量指示可以更新的 ResultSet 对象的并发模式。

绝对定位:boolean absolute(int row)将游标移动到指定位置。

相对定位:void afterLast()将游标向后移动一位。

void beforeFirst() 。将游标向前移动一位。

boolean first()将游标移动到结果集最前

boolean last()将游标移动到结果集末尾。

2、Updatability 结果集可更新。 (主要应用于桌面应用)

更新:rs.updateString(“name”,”Tony”);

rs.updateInt(1,”122323”);修改

rs.deleteRow();删除

rs.updateRow();

注:只有在必要的时候(如桌面应用)才用结果集更新数据库,因为使

用结果集更新数据库效率低下。可更新结果集还要看数据库驱动程

序是否支持,如 Oracle 就支持 MySql 不支持。并且只能针对一张表

做结果集更新。而且不能有 join 操作。必须有主健,必须把非空没

有默认值的字段查出。处理可更新结果级时不能用 select *来执行查

询语句,必须指出具体要查询的字段。

3、Batch updates 可批量更新。

将一组对数据库的更新操作发送到数据库统一执行(数据库支持并发

执行操作),以提高效率。主要是通过减少数据(Sql 语句或参数)在网络

上传输的次数来节省时间。

(1)对于 Statement 的批量更新处理:

stm.addBatch(Sql);

stm.addBatch(Sql);

int[] results=stm.executeBatch();

(2)对于 PreparedStatement 的批量跟新处理

pstm.setInt(1,11);pstm.setString(2,”haha”);……..

pstm.addBatch()

pstm.setInt(1,12);pstm.setString(2,”gaga”);……..

pstm.addBatch()

int[] results=stm.executeBatch();

注:int[] 中每一个数表示该 Sql 语句影响到的记录条数。

PreparedStatement 的更新操作比 Statement 的更新操作多了一

个设置参数的过程。

SQL3.0 规范中的新类型

Array 数组类型,主要用于保存一些类似于数组结构的数据。

Sturct 结构

Blob,大的二进制数据文件,最多存储 2G。

Clob,大文本文件对象,最多存储 2G。

在使用上述大对象的时候,在使用 JDBC 插入记录时要先插入一个空的占位对象,然后使



select blobdata from t_blob where id = " + id + " for update 这样的语法来对获得

的大对象,进行实际的写入操作 Blod 通过 getBinaryOutputStream()方法获取流进行写

入。getBinaryStream()方法获得流来获取 Blob 中存储的数据。

Clob 的 操 作 也 和 、 Blob 相 同 。 getAsciiStream() 方 法 用 于 读 取 存 储 的 文 本 对 象 ,

getAsciiOutputStream()方法之获得流用来向文件对象写入的。

BLOB 与 CLOB 的异同点:

① 都可以存储大量超长的数据;

② BLOB (Binary Large Object) 以二进制格式保存于数据库中,特别适合保存图片、视

频文件、音频文件、程序文件等;

③ CLOB (Character Large Object) 以 Character 格式保存于数据库中,适合保存比较

长的文本文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐