Повторное использование объекта оператора Java?

Используйте этот код, чтобы найти запись между двумя датами, используя $gte и $lt:

db.CollectionName.find({"whenCreated": {
    '$gte': ISODate("2018-03-06T13:10:40.294Z"),
    '$lt': ISODate("2018-05-06T13:10:40.294Z")
}});
23
задан Michael Myers 23 December 2008 в 20:06
поделиться

4 ответа

Я столкнулся с ответом, который я искал в Javadocs

По умолчанию, только один объект ResultSet на объект Оператора может быть открыт одновременно. Поэтому, если чтение одного объекта ResultSet чередовано с чтением другого, каждый, должно быть, был сгенерирован различными объектами Оператора.

21
ответ дан Epitaph 29 November 2019 в 02:04
поделиться

Да, Вы можете. Однако намного лучше использовать PreparedStatement для предотвращения уязвимостей Внедрения SQL.

16
ответ дан Tom Hawtin - tackline 29 November 2019 в 02:04
поделиться

Исходная точка использования подготовленных операторов должна была постараться не иметь синтаксический анализ базы данных и перекомпилировать оператор, таким образом, это, как предполагается, быстрее.

я не рассмотрел использование уязвимостей Внедрения SQL, но я не уверен, что, если какая-либо проверка данных сделана. Я подозреваю, что это - иждивенец драйвера, поскольку реализация драйвера является бесплатной просто склеить операторы. Если у кого-либо есть более подробная информация, отправьте.

2
ответ дан Steve B. 29 November 2019 в 02:04
поделиться

Каждый раз, когда Вы присваиваете что-то ссылочному типу, Вы заменяете старую ссылку новой.

, Например...

MyObject obj = new MyObject("foo");
obj = new MyObject("bar");

имел бы экземпляр, на который теперь не ссылаются, MyObject с некоторым набором свойств к "нечто", которое будет в конечном счете собрано "мусор".

obj хранит ссылку на MyObject с некоторым набором свойств к "панели".

0
ответ дан Powerlord 29 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: