999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Mysql數據庫中存取圖片的Java實現

2013-09-12 04:24:52周建儒
電子測試 2013年20期
關鍵詞:數據庫

周建儒

(四川信息職業技術學院信息工程系,廣元,628040)

圖片存儲有兩種方式:一種是將圖片單獨存放在固定文件夾里,數據庫表中對應的字段僅保存該圖片的路徑和名字;這種方式實現簡單,數據表中無大數據,訪問速度快,但是不安全,數據維護不方便。另一種是先對圖片進行編碼,再將編碼后的數據寫到數據庫表中,需要時再從數據庫表中讀出,然后解碼生成圖片文件;這種方式比較安全,數據維護方便靈活。本文針對這兩種方式,用程序實例進行分析和比較。

1 Mysql數據庫

MySQL是一個小型關系型數據庫管理系統,體積小,速度快,開放源碼。Mysql支持存儲二進制文件的BLOB字段類型;BLOB是個類型系列,包括:TinyBlob、Blob、MediumBlob、LongBlob,它們可容納的最大字節數分別是255B,65K,16M,4G。

2 預編譯語句

預編譯語句PreparedStatement是java.sql的一個接口,也是Statement的子接口。通過Statement對象執行SQL語句時,需要將SQL語句發送給DBMS進行編譯后再執行。而預編譯語句是在創建PreparedStatement 對象時就指定了SQL語句,并發送給DBMS進行編譯,當該編譯語句被執行時,DBMS直接運行編譯后的SQL語句,而不需要像其它SQL語句那樣先進行編譯。

預編譯語句可以提高訪問數據庫的性能,數據庫在處理SQL語句時都有一個預編譯的過程,而預編譯對象就是把一些格式固定的SQL語句編譯后存放在數據庫緩沖池中。當需要再次執行相同的SQL語句時就不再進行編譯了,直接由DBMS運行SQL語句。所以當需要多次執行Statement對象的時候,使用PreparedStatement對象可以大大降低運行時間,特別是大型數據庫,它可以有效地提高訪問數據庫的速度。

3 在Mysql數據庫中存取圖片的方法

3.1 以二進制格式存取圖片

3.1.1 以二進制格式將圖片寫入photo表中

3.1.2 從photo表中讀出圖片數據,并生成圖片文件

3.2 以Base64編碼格式存取圖片

Base64是一種基于64個可打印字符來表示二進制數據的表示方法。Base64編碼的基本原理是:將字符串按每3個8位(3*8=24bit)字節分為一組,把每個字符的ASCII碼轉換成8位二進制數,就是一組24位的字節,再把這24位分為4個6位(4*6=24bit)字節,并在每個6位的高位添加兩個0,得到4個8位的字節,然后將這4個8位的字節轉換成十進制數,然后對照Base64編碼表得到對應的編碼字符。

3.2.1 先對圖片進行Base64編碼,再將其寫入photo表中

3.2.2 從photo表中讀出圖片文件的base64編碼,解碼后重新生成圖片文件

4 總結

用以上兩種方法在Mysql數據庫表中存儲同一個jpg格式的圖片,以二進制數據格式存儲占用了2562個字節,以Base64編碼格式存儲占用了3504個字節。可見,Base64編碼后的圖片數據增大,這是因為Base64編碼的數據冗余比較多,編碼后的數據長度是編碼前長度的三分之四倍。把圖片文件用base64編碼后再存入數據庫,會增大存儲空間,延長圖片訪問時間,減慢系統的響應速度。Base64編碼可用于HTTP環境下傳遞較長的標識信息。例如:在Hibernate中就把UUID編碼為一個字符串,用作HTTP表單和HTTPGETURL中的參數。

[1]Y.Daniel Liang,Java語言程序設計基礎篇[M].北京:機械工業出版社,2009.

[2]Paul DuBois,MySQL技術內幕(第4版)[M].北京:人民郵電出版社,2011.

[3]尹繼平,Java范例大全[M].北京:機械工業出版社,2009.[4]劉書倫,Java程序設計[M].北京:國防科技大學出版社,2011.

猜你喜歡
數據庫
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
兩種新的非確定數據庫上的Top-K查詢
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
數據庫
財經(2016年6期)2016-02-24 07:41:51
數據庫
財經(2015年3期)2015-06-09 17:41:31
數據庫
財經(2014年21期)2014-08-18 01:50:18
數據庫
財經(2014年6期)2014-03-12 08:28:19
數據庫
財經(2013年6期)2013-04-29 17:59:30
主站蜘蛛池模板: 99久久精品国产自免费| 亚洲国产综合精品一区| 亚洲国产精品日韩欧美一区| 国产综合网站| www.99在线观看| 欧美精品另类| 在线免费不卡视频| 欧美人与动牲交a欧美精品| 国产自产视频一区二区三区| 精品久久人人爽人人玩人人妻| 在线国产91| 国产传媒一区二区三区四区五区| 久久综合九九亚洲一区| 国产精品女同一区三区五区| 国产粉嫩粉嫩的18在线播放91 | 欲色天天综合网| 成人夜夜嗨| 老司国产精品视频91| 精品国产欧美精品v| 在线观看免费国产| 国产丝袜啪啪| 国产电话自拍伊人| 国产一二视频| 亚洲成肉网| 亚洲一道AV无码午夜福利| 人妻精品久久无码区| 91精品专区| 欧美一级专区免费大片| 成人亚洲国产| 97人人模人人爽人人喊小说| 国产一区二区三区日韩精品| 毛片在线区| 婷婷中文在线| 国产成人欧美| 99在线视频免费| 国产欧美在线视频免费| 免费精品一区二区h| 国产99视频精品免费观看9e| 亚洲男人天堂久久| 蜜桃臀无码内射一区二区三区| 91无码人妻精品一区| 99久久国产综合精品2020| 国产精品入口麻豆| 五月婷婷激情四射| 成人免费黄色小视频| 黄片一区二区三区| 日韩精品无码免费一区二区三区| 精品91在线| 亚洲成人高清无码| 欧美日韩亚洲国产主播第一区| 自偷自拍三级全三级视频 | 国产91小视频在线观看| 日韩在线2020专区| 国产亚洲精品无码专| 视频国产精品丝袜第一页| 午夜综合网| 国产日韩精品一区在线不卡 | 国产福利在线免费| 欧美日韩动态图| 欧美成人区| 国产人人射| 久久久久亚洲av成人网人人软件 | 丰满人妻一区二区三区视频| 97国产成人无码精品久久久| 精品福利国产| 黄色污网站在线观看| 波多野结衣第一页| www精品久久| 亚洲,国产,日韩,综合一区| 欧美va亚洲va香蕉在线| 天堂av综合网| 自拍欧美亚洲| 成人国产一区二区三区| 日本久久网站| 国产丝袜一区二区三区视频免下载| 国产无码网站在线观看| 国产成+人+综合+亚洲欧美| 99国产在线视频| 性视频久久| 99国产在线视频| 91热爆在线| 欧美色丁香|