使用mongbd保存图片,文件等效率要比存在oracle等关系型数据库要好,这是大家公认的,。。。。
好了,废话不多说,直接上代码
package com.aspirecn.hzyl.base.utils;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.net.UnknownHostException;
import com.mongodb.DB;
import com.mongodb.Mongo;
import com.mongodb.MongoException;
import com.mongodb.MongoOptions;
import com.mongodb.gridfs.GridFS;
import com.mongodb.gridfs.GridFSDBFile;
import com.mongodb.gridfs.GridFSInputFile;
public class MongoDbUtils {
/**
* 地址
*/
private static String ipAddr = null;
/**
* 端口
*/
private static int port = 27017;
/**
*用户名
*/
private static String userName = null;
/**
* 密码
*/
private static String passwd = null;
/**
* 连接池大小
*/
private static int poolSize = 50;
private static int blockSize = 50;
public static Mongo mongo = null;
/**
* 是否需要验证<br>
* 当mongdb设置权限的时候需要验证,否则默认不需要
*/
private static boolean authFlag = false;
public MongoDbUtils(String ipAddr, String port, String userName,
String passwd, String poolSize, String blockSize) {
MongoDbUtils.ipAddr = ipAddr;
MongoDbUtils.passwd = passwd;
MongoDbUtils.userName = userName;
if (CommonUtils.isNotBlank(port)) {
MongoDbUtils.port = Integer.valueOf(port);
}
if (CommonUtils.isNotBlank(blockSize)) {
MongoDbUtils.blockSize = Integer.valueOf(blockSize);
}
if (CommonUtils.isNotBlank(poolSize)) {
MongoDbUtils.poolSize = Integer.valueOf(poolSize);
}
}
/**
* 获取Mongo
* @return
* @throws UnknownHostException
* @throws MongoException
*/
public static Mongo getMongoDb() throws UnknownHostException,
MongoException {
if (mongo == null) {
init();
}
return mongo;