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 格式保存于数据库中,适合保存比较
长的文本文件。
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 格式保存于数据库中,适合保存比较
长的文本文件。
相关文章推荐
- JDBC第三章知识点总结——JDBC高级特性1--结果集,批量更新,高级数据类型
- C# 3.0语言新特性(语言规范):5 匿名类型
- C# 3.0语言新特性(语言规范):5 匿名类型
- C# 3.0语言新特性(语言规范):6 具有隐式类型的数组
- C# 3.0语言新特性(语言规范):6 具有隐式类型的数组
- Atitit. c# 语法新特性 c#2.0 3.0 4.0 4.5 5.0 6.0 attilax总结 1. 版本历史 1 1.1. C# 1.0-纯粹的面向对象 2 1.2. C# 2.0
- Sql Server2008 Transact-SQL 新兵器学习总结之-用户定义表类型和日期,时间数据类型
- JDBC总结07-SQL 数据类型及其相应的 Java 数据类型
- JDBC第三章知识点总结——JDBC高级特性1--结果集,批量更新,高级数据类型
- C# 3.0语言新特性(语言规范):1 具有隐式类型的局部变量
- 数据库SQL编写规范--dba经过实践后总结
- com.microsoft.sqlserver.jdbc.SQLServerException: 不允许从数据类型 varbinary 到 date 的隐式转换。请使用 CONVERT 函数来运行此
- jdbc-mysql基础 java.util.sql.date与mysql中date类型相对应可以相互访问
- C# 3.0语言新特性(语言规范):2 扩展方法
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
- C# 2.0 新特性(泛型、可空类型)应用一例
- C# 2.0&3.0新特性总结
- 规范工程中c/c++变量类型的定义
- C# 3.0 新特性之隐含类型局部变量
- Sql学习第一天――SQL 将变量定义为Table类型(虚拟表)