您的位置:首页 > 数据库 > Mongodb

方便实用的MongoDB工具类

2018-03-22 17:08 239 查看
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"
4000
, fileName);
GridFSDBFile gridFSDBFile = gridFS.findOne(query);
return gridFSDBFile;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: