获取数据库的连接
private String uri ="mongodb://interface_manager:2wsxCDE#@IP:PORT/?authSource=admin";
private Map<String,MongoTemplate> templateMap = new HashMap<String,MongoTemplate>();
public synchronized MongoTemplate getTemplate(String databaseName){
if(templateMap.containsKey(databaseName)){
return templateMap.get(databaseName);
} else {
MongoClientURI clientURI = new MongoClientURI(uri);
MongoClient client = new MongoClient(clientURI);
MongoTemplate template = new MongoTemplate(client,databaseName);
templateMap.put(databaseName,template);
return template;
}
}
对数据进行增删改查
import com.mongodb.client.MongoCollection
import com.mongodb.client.model.Filters
import com.mongodb.client.result.DeleteResult
import org.bson.Document
import org.springframework.data.mongodb.core.MongoTemplate
import org.springframework.data.mongodb.core.query.{Criteria, Query}
import utils.MongoDBUtil
/*
* @author: ljx
* @date: 2019/11/16
* @description:
*/
object testspark {
def main(args: Array[String]): Unit = {
//创建数据库连接
var mongoClient= new MongoDBUtil
val mongo: MongoTemplate = mongoClient.getTemplate("xzq_test")
val coll: MongoCollection[Document] = mongo.getCollection("collection")
println(coll.count())
//查询
val query = new Query
val field = query.addCriteria(Criteria.where("name").is("lisi")).fields()
println(query)
//更新
val bson1 = Filters.eq("name", "lisi")
val update = new Document("$set", new Document().append("name", "wangwu"))
coll.updateOne(bson1, update)
//删除搞定了
val queryDelete: DeleteResult = coll.deleteMany((Filters.eq("zhangsan",20)))
println(queryDelete)
//插入没问题
val document = new Document()
document.append("name","lisi").append("age",30)
coll.insertOne(document)
}