У меня нет опыта работы с базой данных, но я должен использовать его для создаваемого приложения, и я выбираю 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 поддерживает опрос подключения, поэтому, когда я вызываю m.close (), я просто заменяю используемое подключение или устанавливаю для объекта m
значение null?