方便实用的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;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值