方便实用的MongoDB工具类


import com.mongodb.*;
import com.mongodb.gridfs.GridFS;
import com.mongodb.gridfs.GridFSDBFile;
import com.mongodb.gridfs.GridFSInputFile;
import java.io.FileInputStream;

/**
 * Created by jiangyunxiong on 2018/3/20.
 */
public class MongoDBUtil {
    /**
     * 存储文件
     * @param file
     * @param fileId
     * @param filename
     */
     private static MongoClient mongoClient = new MongoClient("localhost", 27017);;
     private static DB db = mongoClient.getDB("springboot-db");
     private static GridFS gridFS = new GridFS(db);


    /**
     * 保存文件
     * @param filePath
     * @param id
     * @param fileName
     */
     public static void save(String filePath, Object id, String fileName){
         DBObject query = new BasicDBObject("_id", id);
         try {
             FileInputStream in = new FileInputStream(filePath);
             GridFSDBFile gridFSDBFile = gridFS.findOne(query);
             if(gridFSDBFile == null){
                 GridFSInputFile gridFSInputFile = gridFS.createFile(in);
                 gridFSInputFile.setId(id);
                 gridFSInputFile.setFilename(fileName);
                 gridFSInputFile.save();
             }
         }catch (Exception e){
            e.printStackTrace();
         }

     }
    /**
     * 据id返回文件
     * @param id
     * @return
     */
    public static GridFSDBFile getById(Object id){
        DBObject query  = new BasicDBObject("_id", id);
        GridFSDBFile gridFSDBFile = gridFS.findOne(query);
        return gridFSDBFile;
    }

    /**
     * 据文件名返回文件,只返回第一个
     * @param fileName
     * @return
     */
    public static GridFSDBFile getByFileName(String fileName){
        DBObject query  = new BasicDBObject("filename", fileName);
        GridFSDBFile gridFSDBFile = gridFS.findOne(query);
        return gridFSDBFile;
    }
}

猜你喜欢

转载自blog.csdn.net/jyxmust/article/details/79656773
今日推荐