我没有任何数据库的经验,但我必须将它用于我正在构建的应用程序,并选择MongoDB。MongoDB对象实例
现在一切正常,但我每次需要向数据库发出请求时都会创建一个新的Mongo对象,而且我明白这是错误的。
所以我想问问,了解什么是做这种正确的方法,我有这样的一个名为MongoDbConnnection
类下面的一些代码:
public class MongoDbConnection {
private static Mongo _mongo;
public static Mongo getMongo()
{
if (_mongo == null) {
try {
_mongo = new Mongo();
} catch (UnknownHostException e) {
_mongo = null;
e.printStackTrace();
} catch (MongoException e) {
_mongo = null;
e.printStackTrace();
}
}
return _mongo;
}
}
所以,每次我需要做一个查询,我做Mongo m = MongoDbConnnection.getMongo();
并继续前进。
这是正确的吗?
我也混淆了什么时候关闭连接,因为我有另一个类延伸HttpServlet
,并会响应GET,每次有人请求url时,我将不得不查询数据库并返回信息。如果我在回复一个请求后立即关闭,那么其他人在此之后再次请求它会怎么样。那么我必须再次创建一个新的Mongo对象?
换句话说,我知道Mongo实例维护一个连接轮询,所以当我调用m.close()时,我只是替换了我使用的连接,还是将对象m
设置为null?