依赖:
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
<dependency>
<groupId>org.mongodb.morphia</groupId>
<artifactId>morphia</artifactId>
<version>1.3.2</version>
</dependency>
工具类:
import com.mongodb.MongoClient;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
/**
* @ClassName:MongoDBUtil
* @Description:
* @Author
* @Date:Created in 14:04 2019/2/25
* @Version:
*/
@Component
public class MongoDBUtil {
@Resource
private MongoCollection<Document> collection;
@Value(value = "${mongodb.host}")
/**
* 地址
*/
private String host;
@Value(value = "${mongodb.port}")
/**
* 端口
*/
private int port;
@Value(value = "${mongodb.databaseName}")
/**
* 数据库名称
*/
private String databaseName;
@Value(value = "${mongodb.collectionName}")
/**
* 集合名称
*/
private String collectionName;
public MongoCollection<Document> getMongodbDatasroce(){
//单个数据库DB
MongoClient mongoClient = new MongoClient(new ServerAddress(host, port));
//多个数据库
//MongoClient mongoClient = new MongoClient(Arrays.asList(new ServerAddress("localhost", 27017),
// new ServerAddress("localhost", 27018),
// new ServerAddress("localhost", 27019)));
MongoDatabase database = mongoClient.getDatabase(databaseName);
collection=database.getCollection(collectionName);
return collection;
}
}
import org.bson.Document;
public interface MongodbService {
public String insertMongoDB(Object o);
public String selectMongDB(String id);
public int updateMongoDB(String key,Document document);
public int deleteMongoDb(String id);
}
import cn.dabby.dsmp.db.service.MongodbService;
import cn.dabby.dsmp.utils.MongoDBUtil;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import lombok.extern.slf4j.Slf4j;
import org.bson.Document;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import static com.mongodb.client.model.Filters.regex;
/**
* @ClassName:MongodbServiceimpl
* @Description:
* @Author
* @Date:Created in 14:25 2019/2/25
* @Version:
*/
@Service
@Slf4j
public class MongodbServiceimpl implements MongodbService {
@Resource
private MongoDBUtil mongoDBUtil;
@Override
public String insertMongoDB(Object o) {
String key;
try {
//获得唯一时间戳
key=System.currentTimeMillis()+(int)(1+Math.random()*10)+"";
MongoCollection<Document> collection=mongoDBUtil.getMongodbDatasroce();
Document document=new Document();
document.append(key,o.toString());
collection.insertOne(document);
}catch (Exception e){
log.info("放入MongoDB异常");
log.info(e.toString());
return "1";
}
return key;
}
@Override
public String selectMongDB(String key) {
String dbimg="";
MongoCollection<Document> collection=mongoDBUtil.getMongodbDatasroce();
FindIterable<Document> iterables=collection.find(regex("key",key));
MongoCursor<Document> cursor = iterables.iterator();
while (cursor.hasNext()){
dbimg=cursor.next().getString(key);
}
return dbimg;
}
@Override
public int updateMongoDB(String key,Document document) {
MongoCollection<Document> collection=mongoDBUtil.getMongodbDatasroce();
UpdateResult result=collection.updateMany(regex("key",key),document);
return (int)result.getModifiedCount();
}
@Override
public int deleteMongoDb(String key) {
MongoCollection<Document> collection=mongoDBUtil.getMongodbDatasroce();
DeleteResult deleteResult=collection.deleteMany(regex("key",key));
return (int)deleteResult.getDeletedCount();
}
}