使用MyBatis上傳影象,使用的是Oracle的資料庫表,有一個TEACHER表,有7列,有1列是儲存圖片的,型別用BLOB,最大容量是4G,以二進位制的形式寫入資料庫表。
建立這個表的對應實體類Teacher,實體類中對應表中的BLOB型別資料的是位元組陣列的變數,再建立這個實體類的介面TeacherMapper和對應對映檔案TeacherMapper.XML。
對應的介面比較簡單,寫個抽象的插入資料方法和查詢資料的方法。
對映檔案中寫好具體的sql語句,插入語句和查詢語句,注意引數型別和結果型別,少了可能會報錯。
下面就是測試檔案了:寫入影象需要用到輸入流,用位元組流InputStream即可,因為是以二進位制寫入資料表,還需要用到File類,給輸入流提供寫入的素材,輸入流準備好後,再構建一個Teacher物件,呼叫插入方法就完成插入操作了。測試類用的JUnit Test Case ,tm是介面的物件。
重新整理資料庫,檢視操作結果
從資料庫表往外查詢圖片,需要給圖片先指定一個儲存路徑以便接受,使用輸出流OutputStream,也需要使用File類傳輸路徑,