我沒有任何數據庫的經驗,但我必須將它用於我正在構建的應用程序,並選擇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?