我之前没有任何数据库经验,但我必须将它用于我正在构建的应用程序,我选择了 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() 时,我只是替换我使用的连接,还是我将 object 设置m
为 null?