2022年10月6日 星期四

java read from DB2 column by Bolb type

近期配合保留原始資料將class資料轉json sting 存到DB的blob欄位內,底下是JAVA取值用的邏輯備忘下,試了許多方式就這樣最精簡也符合需要。

至於為什麼選擇blob而不用clob這個主要是考量若干資安掃描會去檢查cloumn data是否有踩紅線,改bytes array可以省去不必要的困擾,不然blob通常拿來存圖或是編譯後的檔案(PDF),這類json string存clob在DB tools上會較方便識別,就看各自的需要囉!!


source json data: 
bldata value is  new Gson().toJson(Variable.class).getBytes("utf-8")

Read

select bldata from table where length(bldata) > 4 with ur;

Blob blob = resultSet.getBlob("bldata"); 

byte[] bdata= blob.getBytes(1, (int) blob.length());

Variable.class Variables jsonStr = new Gson().fromJson(new String(bdata), Variable.class);

沒有留言: