Я изучаю JDBC на данный момент, и я уже знаю разницу между PreparedStatement и Statement. Это то, что PreparedStatement предварительно скомпилировано и позволяет вам устанавливать параметры, но мне задали вопрос о собеседовании о различии между партией PreparedStatement и выпиской из пакета Statement.Разница между партией PreparedStatement и пакетом Statement
ответ
Разница между пакетным исполнением Statement
и PreparedStatement
, является то, что Statement
пакет может содержать различные заявления (до тех пор, как они есть утверждения, которые не производят набор результатов), например, один пакет может содержать все виды вставляет в различные таблицы, удаляет, обновляет и - не во всех реализациях JDBC-драйверов AFAIK - даже инструкции DDL.
С другой стороны, пакетное исполнение PreparedStatement
относится к одному оператору, а пакет содержит несколько наборов значений параметров для выполнения для этого оператора. То есть каждый элемент партии определяет значения, используемые для параметров подготовленного оператора.
Короче:
Statement
: партия может содержать много различных заявленийPreparedStatement
: один оператор, несколько наборов значений параметров
Ведомость используется для выполнения статической инструкции SQL и возврата результатов, которые она производит.
В PreparedStatement оператор SQL предварительно скомпилирован и хранится в объекте PreparedStatement. Затем этот объект можно использовать для эффективного выполнения этого утверждения несколько раз. Поскольку команда sql уже скомпилирована, вы сэкономите некоторое время.
Интерфейс PreparedStatement расширяет интерфейс Statement.
public interface PreparedStatement extends Statement
Пакетная обработка:
Пакетная обработка означает, что партия будет сделано "все сразу". В пакете вы можете выполнять несколько операторов в одной транзакции, а не выполнять их один за другим. Это также улучшит производительность, потому что вы делаете одну поездку туда и обратно на сервер базы данных, чтобы вставить несколько записей вместо нескольких поездок.
executeBatch()
API является частью интерфейса Statement
, который отправляет пакет команд в базу данных для выполнения, и если все команды выполняются успешно, возвращается массив подсчетов обновлений.
Вы создаете несколько заявлений/подготовленных материалов и добавляете их в пакет. Чтобы выполнить его вместо
statement.execute(); //executes single statement/preparedstatement
вы звоните
statement.addBatch(); //to add statement to batch
statement.executeBatch(); //executes batch of statement/preparedstatement
Как SQL предварительно скомпилированных и не может быть изменен в PreparedStatement, партия будет же SQL несколько раз, тогда как в случае заявления, вы можете добавить разные SQL-запросы для пакетной обработки.
Странно, что ваш ответ принят, потому что он фактически не учитывает разницу между «Statement» и «PreparedStatement». –
@MarkRotteveel Asker уже упоминал, что он знает разницу между заявлением и подготовленным заявлением. Итак, я только что объяснил партию. Дайте мне знать, как улучшить этот ответ. – Maverick
Основным улучшением было бы описание фактической разницы между пакетом 'Statement' и' PreparedStatement', см. Мой ответ. –
- 1. Разница между Statement и PreparedStatement
- 2. Разница между классом и пакетом
- 3. В чем разница между пакетом Node и пакетом Bower?
- 4. В чем разница между пакетом org.junit и пакетом junit.framework?
- 5. Разница между целью и пакетом в iOS?
- 6. В чем разница между пакетом и сокетом?
- 7. Разница между модулем и пакетом в узле?
- 8. разница между java-проектом и java-пакетом
- 9. разница между подписанием и пакетом кода подписания
- 10. Разница между ссылкой, шаблоном и пакетом NuGet?
- 11. Разница между раскадрой и пакетом раскадровки?
- 12. В чем разница между библиотекой и пакетом?
- 13. Разница между PreparedStatement при использовании другого драйвера
- 14. разница между переключателем и if else statement
- 15. Разница между Enum и Define Statement
- 16. разница между if (! Statement) и if (statement! = True)?
- 17. Java MySQL PreparedStatement SELECT Statement
- 18. Разница между executeBatch() и executeLargeBatch() при использовании PreparedStatement
- 19. Связь между «close» для PreparedStatement и Connection?
- 20. Spring jdbcTemplate vs PreparedStatement. Разница в производительности
- 21. Разница между модулем и пакетом с использованием Perl?
- 22. В чем разница между путём построения и исходным пакетом?
- 23. Разница между OSGi пакетом и обычным. Использование файлов JAR
- 24. Разница между пакетом развертывания сборки и msbuild t: package
- 25. Разница между Laravel Cashier и пакетом Cartalyst Stripe
- 26. С Zend Framework, в чем разница между модулем и пакетом
- 27. В чем разница между пакетом Hubot и скриптом Hubot?
- 28. В чем разница между пакетом Mvvmcross nuget и Mvvmcross.HotTuna.CrossCore?
- 29. В чем разница между фреймворком и пакетом в iphone OS?
- 30. В чем разница между рабочим процессом Oozie, координатором и пакетом
Вы исследовали его и есть конкретный вопрос о чем-нибудь? Или в чем проблема? – 4castle
И каков был ваш ответ? – Andremoniy
Я просто хочу знать, что между этими партиями есть что-то заранее, может быть, какая-то особая реализация, или просто, что PreparedStatement отличается от Statement? –