乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      【保存圖片到Mongodb】Mongodb快速入門之使用Java操作Mongodb

       CevenCheng 2011-07-11

       保存圖片到Mongodb

        下面將講解如何使用Java MongoDB GridFS API去保存圖片等二進(jìn)制文件到Monodb,關(guān)于Java MongoDB GridFS API的詳細(xì)論述,請參考http://www./display/DOCS/GridFS+Specification

        1)保存圖片

        代碼段如下:

        String newFileName ="mkyong-java-image";
        File imageFile 
      =newFile("c:\\JavaWebHosting.png");
        GridFS gfsPhoto 
      =new GridFS(db, "photo");
        GridFSInputFile gfsFile 
      = gfsPhoto.createFile(imageFile);
        gfsFile.setFilename(newFileName);
        gfsFile.save();

        這里,將c盤下的JavaWebHosting.png保存到mongodb中去,并命名為mkyong-java-image。

        2) 讀取圖片信息

        代碼段如下

        String newFileName ="mkyong-java-image";
        GridFS gfsPhoto 
      =new GridFS(db, "photo");
        GridFSDBFile imageForOutput 
      = gfsPhoto.findOne(newFileName);
        System.out.println(imageForOutput);

        將會(huì)輸出JSON格式的結(jié)果;

        {
        
      "_id" :
        {
        
      "$oid" : "4dc9511a14a7d017fee35746"
        } ,
        
      "chunkSize" : 262144 ,
        
      "length" : 22672 ,
        
      "md5" : "1462a6cfa27669af1d8d21c2d7dd1f8b" ,
        
      "filename" : "mkyong-java-image" ,
        
      "contentType" : null ,
        
      "uploadDate" :
        {
        
      "$date" : "2011-05-10T14:52:10Z"
        } ,
        
      "aliases" : null
        }

        可以看到,輸出的是文件的屬性相關(guān)信息。

        3) 輸出已保存的所有圖片

        下面代碼段,輸出所有保存在photo命名空間下的圖片信息:

        GridFS gfsPhoto =new GridFS(db, "photo");
        DBCursor cursor 
      = gfsPhoto.getFileList();
        
      while(cursor.hasNext()){
        System.out.println(cursor.next());
        }

         4) 從數(shù)據(jù)庫中讀取一張圖片并另存

        下面的代碼段,從數(shù)據(jù)庫中讀取一張圖片并另存為另外一張圖片到磁盤中

        String newFileName ="mkyong-java-image";
        GridFS gfsPhoto 
      =new GridFS(db, "photo");
        GridFSDBFile imageForOutput 
      = gfsPhoto.findOne(newFileName);
        imageForOutput.writeTo(
      "c:\\JavaWebHostingNew.png");

         5) 刪除圖片

        String newFileName ="mkyong-java-image";
        GridFS gfsPhoto 
      =new GridFS(db, "photo");
        gfsPhoto.remove(gfsPhoto.findOne(newFileName));

         如何將JSON數(shù)據(jù)格式轉(zhuǎn)化為DBObject格式

        在mongodb中,可以使用com.mongodb.util.JSON類,將JSON格式的字符串轉(zhuǎn)變?yōu)镈BObject對象。MongoDB for JAVA驅(qū)動(dòng)中提供了用于向數(shù)據(jù)庫中存儲(chǔ)普通對象的接口DBObject,當(dāng)一個(gè)文檔從MongoDB中取出時(shí),它會(huì)自動(dòng)把文檔轉(zhuǎn)換成DBObject接口類型,要將它實(shí)例化為需要的對象。比如:

        {
        
      'name' : 'mkyong',
        
      'age' : 30
        }

         這樣的JSON格式字符串,轉(zhuǎn)換方法為:

        DBObject dbObject =(DBObject) JSON.parse("{'name':'mkyong', 'age':30}");

         完整的代碼如下:

        packagecom.mkyong.core;
        importjava.net.UnknownHostException;
        importcom.mongodb.DB;
        importcom.mongodb.DBCollection;
        importcom.mongodb.DBCursor;
        importcom.mongodb.DBObject;
        importcom.mongodb.Mongo;
        importcom.mongodb.MongoException;
        importcom.mongodb.util.JSON;
        
      /**
        * Java MongoDB : Convert JSON data to DBObject
        *
        
      */
        publicclass App {
        publicstaticvoid main(String[] args){
        
      try{
        Mongo mongo 
      =new Mongo("localhost"27017);
        DB db 
      = mongo.getDB("yourdb");
        DBCollection collection 
      = db.getCollection("dummyColl");
        DBObject dbObject 
      =(DBObject) JSON
        .parse(
      "{'name':'mkyong', 'age':30}");
        collection.insert(dbObject);
        DBCursor cursorDoc 
      = collection.find();
        
      while(cursorDoc.hasNext()){
        System.out.println(cursorDoc.next());
        }
        System.out.println(
      "Done");
        }
      catch(UnknownHostException e){
        e.printStackTrace();
        }
      catch(MongoException e){
        e.printStackTrace();
        }
        }
        }

         則輸出為:

        {"_id" : {"$oid" : "4dc9ebb5237f275c2fe4959f"} , "name" : "mkyong" , "age" : 30}
        Done

        可以看到,將JSON格式的數(shù)據(jù)類型直接轉(zhuǎn)換為mongodb中的文檔類型并輸出。

        小結(jié):

        本文學(xué)習(xí)了如何使用Mongodb for JAVA驅(qū)動(dòng),對mongodb進(jìn)行日常的數(shù)據(jù)庫操作,比如增加,刪除和修改,下一篇教程中,將指導(dǎo)學(xué)習(xí)Spring對mongodb的操作。











        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多