目錄
blob 簡介
ssi架構簡介
blob 使用
blob 接收
blob 轉換
blob (binary large object),二進位製大物件,是乙個可以儲存二進位制檔案的容器。簡言之,是資料庫中儲存較大資料時使用的資料格式.
ssi架構是spring(調配),struts(分發),ibatis(資料庫)三者共同使用的簡稱.
在entity中使用byte陣列去接收傳遞過來的資料.
private byte blobdata;
public byte getblobdata()
public void setblobdata(byte blobdata)
在sqlmap中的resultmap中使用binary型別去接收查詢出的資料.
整體思路就是將二進位制轉換為你之前儲存進去的格式,因為在這塊儲存進去的時候就是使用四位十六進製制代表乙個數字,所以整體思路如下表.
資料格式
資料資料解釋
資料操作
原資料257
十轉十六
乙個四位十六進製制
0101
直接中間切開
兩個二位十六進製制
01
01分別十六轉二
兩個八位二進位制
00000001
00000001
資料庫中儲存格式
二轉位元組流
byte位元組陣列
1
1entity中接收格式
位元組流轉十六
四個一位十六進製制
0 1 0 1
乙個四位十六進製制
0101
十六轉十
十進位制(原資料)
257從資料庫到能用的十進位制如下**
//得到位元組陣列
byte bytearray =******data.get(0).getentity().getblobdata();
//將位元組陣列轉化為十六進製制
string hexarray =bytearraytohexarray(bytearray);
//十六進製制轉十進位制
listresultdata = new arraylist();
int index;
string fourhex;//四位十六進製制
string stringonedecimal;//string型別的十進位制(除以100並保留兩位小數)
double onedecimal;//原始十進位制
for(index = 0;index < hexarray.length(); index+=4)
private static final char hex_char = ;
//得到十六進製制
public static string bytearraytohexarray(byte bytes) else
//相當於轉化為兩位十六進製制,實際是轉化為兩個一位十六進製制,但是兩個在一起才有十六進製制的意義
buf[index++] = hex_char[a / 16];
buf[index++] = hex_char[a % 16];
}return new string(buf);
}
pb在資料庫中訪問blob型別資料
一 首先要寫好兩個函式,分別是檔案的讀取與寫入 參考 pb中讀寫檔案的函式 二 儲存檔案 li value getfileopenname 選擇檔案 ls docname,ls named if li value 1 then if f readfile lb fj,ls docname 1 the...
資料庫中的blob是什麼型別?
blob binary large object 二進位製大物件,是乙個可以儲存二進位制檔案的容器。在計算機中,blob常常是資料庫中用來儲存二進位制檔案的字段型別。根據eric raymond的說法,處理blob的主要思想就是讓檔案處理器 如資料庫管理器 不去理會檔案是什麼,而是關心如何去處理它。...
C 實現MySQL資料庫中的blob資料儲存與取出
在mysql資料庫中,有一種blob資料型別,用來儲存檔案。c 程式語言操作mysql資料庫需要使用mysql官方元件mysql.data.dll。現在說一說如何實現blob型別資料的操作 寫入資料庫 filestream f1 new filestream filename1,filemode.o...