Разница между Spring JDBC Vs Plain JDBC?

В чем основное отличие между Spring JDBC VS 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 сложнее настраивать, но легче разрабатывать, поэтому все зависит от объема проблемы, с которой вы имеете дело.