2012-02-27 2 views

ответ

0

Весна JDBC? Я знаю только пару шаблонов Spring JDBC.

Они позволяют вам получать доступ к функциям JDBC из контейнера Spring и предоставляют некоторые дополнительные упрощения по сравнению с обычным JDBC, такие как управление соединениями и обработка исключений.

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

2

Spring JDBC добавочной стоимости предусмотрено сверху JDBC слоя

  1. Define связи Spring Framework, в параметры
  2. Открыть соединение
  3. Укажите заявление
  4. Prepare и выполнить инструкцию
  5. Настройте цикл для повторения результатов (если есть)
  6. Выполняйте работу для каждой итерации
  7. процесса любое исключение
  8. обработки транзакций
  9. закрыть соединение

В принципе, вам не нужно беспокоиться об управлении и страдает от инфраструктуры кода/водопроводным и чисто беспокоиться о данных и его отображение в объекты.

Spring использует шаблонный шаблон, чтобы скрыть все детали низкого уровня, предоставляя вам удлинители для расширения и работы с JDBC.

Кроме того, есть также определенные API для исключения базы данных, то есть на самом деле разработчик дружественных по сравнению с иерархией исключений, представленной низкий уровень JDBC API,

+0

Просьба указать источники, если вы можете: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html Тем более в этом случае, поскольку некоторые из них перечисленные предметы не предоставляются весной. – user183037

16

Позвольте мне показать вам некоторые простой пример с использованием 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.

1

1.) Модуль Spring jdbc является абстракционным слоем поверх технологии jdbc, этот слой позволяет избежать кода плиты котла, используемого в программировании jdbc. 2.) Spring ORM module - это абстракционный слой поверх инструментов ORM. 3.) При работе с инструментами ORM, такими как спящий режим, у нас есть код котловой плиты, этот весенний слой ORM позволяет избежать кодовой таблички с инструментами ORM.

Смежные вопросы