Jquery中文網 www.prqmtc.live
Jquery中文網 >  腳本編程  >  java  >  正文 JDBC 高級數據類型的應用

JDBC 高級數據類型的應用

發布時間:2019-10-09   編輯:www.prqmtc.live
jquery中文網為您提供JDBC 高級數據類型的應用等資源,歡迎您收藏本站,我們將為您提供最新的JDBC 高級數據類型的應用資源
<script>ec(2);</script>
JDBC 2.0 引進了對應于SQL_99的許多新對象,這些新對象有BLOB,CLOB,ARRAY,REF,結構化類型,DISTINCT類型以及LOCATOR.
JDBC 3.0增加了Boolean和Datalink對象
插入這些高級數據類型到數據庫中的主要手段是使用PreparedStatement對象,讀取主要是ResultSet對象.下面介紹怎么在數據庫中讀取和寫入高級數據類型
1:BLOB和CLOB
BLOB: 二進制大對象(Binary Large OBject)即一個字節序列(比喻說一個mp3文件可以存儲為一個BLOB)
CLOB:一個對VARCHAR 或類似的列來說太長的字符串.
來自數據庫的BLOB和CLOB數據可以通過java.sql.Blob和java.sql.clob對象來操作.
ResultSet 和PreparedStatement對象提供的處理這兩種數據的方法如下
ResultSet : PreparedStatement
Blob getBlob(int) void setBlob(int ,Blob)//第一個參數是PreparedStatement中的占位符的索引,以下相同
Blob getBlob(string) void setClob(int ,Clob)
Clob getClob(int)
Clob getClob(String)
使用PreparedStatement.setBlob(int,Blob)我們可以用BLOB數據來設置準備語句中的占位符,并且可以通過執行SQL語句把這些數據寫入到另一個表中
如:
String sql="select blob_col from blob_table where id=?"//blob_colum ,id為blob_table 這個表的列名
PreparedStatement ps=connection.prepareStatement(sql);
ps.setInt(1,1);
ResultSet rset=ps.executeQuery();
Blob blob=null;
if(rset.next())
{
blob=rset.getBlob(1);
}
上敘中blob只是持有一個指向數據庫中這些二進制數據的引用.并不持有實際二進制數據,然后代碼可以使用這個相同的引用把這些二進制數據寫入到另外的一個表中:
sql="insert into blob_table_2 values(?)";
ps=connection.prepareStatement(sql);
ps.setBlob(1,blob);
ps.executeUpdate();
jdbc 2.0中的BLOB和CLOB借口提供了一種從數據庫中獲取數據或寫數據到數據庫的手段,這個手段是通過從數據庫中獲得一個流(輸入或者輸出)對象.并從該流中讀取數據或寫入.
例:
OutputStream out=null;
BufferedInputStream in=null;
File file=new File("****");
ReslutSet rset=statement.executeQuery(sql);//從查詢語句中取得一個結果集

您可能感興趣的文章:
Cobar基于MySQL的分布式數據庫服務中間件
Amoeba:開源的分布式數據庫Porxy解決方案
Tomcat下配置SQLServer連接池的方法步驟
常用數據庫對紀錄的訪問
PostgreSQL從菜鳥到專家系列教程(5)什么是數據庫管理系統
JDBC批量插入數據到數據庫實例
NoSQL數據庫之MongoDB入門詳解
db2常用命令大全-高級篇
javascript 類型判斷的小例子
PostgreSQL從菜鳥到專家系列教程(8)數據定義 字符數據類型

[關閉]
一分赛车计划app