В чем основное отличие между Spring JDBC VS JDBC?
Разница между Spring JDBC Vs Plain JDBC?
Ответ 1
Позвольте мне показать вам простой пример использования JDBC:
final Connection connection = ds.getConnection();
try {
final Statement statement = connection.createStatement();
try {
final ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders");
try {
resultSet.next();
final int c = resultSet.getInt(1);
} finally {
resultSet.close();
}
} finally {
statement.close();
}
} finally {
connection.close();
}
Это намного лучше при попытке использования ресурсов:
try (
Connection connection = ds.getConnection();
Statement statement = connection.createStatement();
ResultSet resultSet = statement.executeQuery("SELECT COUNT(*) FROM Orders");
) {
resultSet.next();
final int c = resultSet.getInt(1);
}
Конечно, вы можете извлечь общий код и использовать шаблон шаблон. Эффективно вы изобретаете JdbcTemplate
:
final int c = new JdbcTemplate(ds).queryForInt("SELECT COUNT(*) FROM Orders");
Также Spring JDBC обеспечивает трансляцию исключений (не более проверенных SQLException
и различий между базами данных/диалектами) и простых возможностей ORM.
Ответ 2
Spring Значение добавления JDBC, предоставленное Spring Framework на верхнем уровне JDBC
- Определить параметры подключения
- Откройте соединение
- Укажите оператор
- Подготовить и выполнить оператор
- Настройте цикл для повторения результатов (если есть)
- Выполняйте работу для каждой итерации
- Обработать любое исключение
- Обработка транзакций
- Закрыть соединение
В принципе, вам не нужно беспокоиться об управлении и страданиях от кода инфраструктуры/сантехники, а также беспокоиться о данных и их сопоставлении с объектами.
Spring использует шаблон шаблона, чтобы скрыть все сведения о низком уровне, предоставляя вам удлинители для расширения и работы с JDBC.
Также существует хорошо определенный API для исключений баз данных, который по-настоящему удобен для разработчиков по сравнению с иерархией исключений, предоставляемой низкоуровневым API-интерфейсом JDBC
Ответ 3
1.) Spring Модуль jdbc является абстракционным слоем поверх технологии jdbc, этот слой позволяет избежать кода плиты котла, используемого в программировании jdbc. 2.) Spring ORM-модуль - это абстракционный слой поверх инструментов ORM. 3.) Когда мы снова работаем с инструментами ORM, такими как спящий режим, у нас есть код котловой плиты, этот слой Spring ORM позволяет избежать кодовой таблички с инструментами ORM.
Ответ 4
Spring JDBC? Я знаю только пару шаблонов Spring JDBC.
Они позволяют вам получить доступ к функциям JDBC из контейнера Spring, и они предоставляют некоторые дополнительные упрощения по сравнению с обычным JDBC, например управление соединениями и обработку исключений.
В принципе Spring сложнее настраивать, но легче разрабатывать, поэтому все зависит от объема проблемы, с которой вы имеете дело.