SQLJ VS JAVA файлы
Может кто-нибудь объяснить разницу между файлами.sqlj и.java?
3 ответа
В то время как JDBC предоставляет API, SQLJ состоит из языкового расширения. Таким образом, программы, содержащие SQLJ, должны быть запущены через препроцессор (переводчик SQLJ), прежде чем их можно будет скомпилировать.
Википедия объясняет это.
.java
Файл - это обычный файл исходного кода Java. .sqlj
файл - это файл исходного кода Java со встроенными операторами SQL. Вы должны пройти .sqlj
исходные файлы через препроцессор сделать нормальным .java
файлы из них, которые затем можно скомпилировать с помощью стандартного компилятора Java.
В обычных файлах Java вы используете JDBC для взаимодействия с базой данных. Каждый раз, когда вы выполняете DML (выберите, вставьте, удалите,...), предложение должно быть оптимизировано, проанализировано для создания плана доступа, а затем выполнить действие. Когда вам приходится делать это много раз, выполнение одного и того же процесса каждый раз может быть дорогостоящим.
Вместо этого SQLJ представляет собой комбинацию между Java и SQL. Вы пишете свои предложения так же, как и в средстве просмотра базы данных, и во время предварительной компиляции предложения будут проанализированы. Это означает, что предложения будут статичными, а пакет в базе данных будет создан и будет содержать план доступа. Это также означает, что запрос анализируется только один раз, и время компиляции, и выполняется много раз.
JDBC больше подходит для динамических запросов, таких как select, которые создаются с учетом набора параметров, и каждый раз они разные. SQLJ для статических запросов, имеет ту же структуру.
Разработка в SQLJ очень проста, и, наконец, во время предварительной компиляции процессор извлечет предложения SQL, создаст файл профиля для привязки в базе данных, а также создаст набор файлов Java, который будет содержать JDBC "оптимизированный".
Вы можете смешать SQLJ и JDBC в файле, взяв лучшее из каждого мира. Например, объявление выбора для обновления, а затем итерация и изменение строки очень лаконичны в SQLJ.
Это правда, что SQLJ не очень популярен, но это проблема, когда разработчики думают только в своей программе, не анализируя, как получить доступ к данным, разработчики только пишут код, а когда программы выпускаются в производство, проблемы с производительностью всегда одно и то же. SQLJ обеспечивает более гибкий доступ к данным, что администратор базы данных высоко ценит.