2012-02-27 14 views

Odpowiedz

0

Wiosna JDBC? Wiem tylko o kilku Spring JDBC Templates.

Umożliwiają one dostęp do funkcji JDBC z poziomu kontenera Spring i udostępniają dodatkowe uproszczenia w porównaniu do zwykłego JDBC, takie jak zarządzanie połączeniami i obsługa wyjątków.

Zasadniczo wiosna jest trudniejsza do ustawienia, ale łatwiejsza do opracowania, więc wszystko zależy od zakresu problemu, z którym masz do czynienia.

2

Wiosna JDBC wartość dodaną zapewnia na warstwie top JDBC

  1. Define związku Ramowa wiosna Parametry
  2. otworzyć połączenie
  3. Określ oświadczenie
  4. przygotować i wykonać instrukcję
  5. Skonfiguruj pętlę do iterowania wyników (jeśli istnieją)
  6. Wykonaj pracę dla każdej iteracji
  7. procesowe każdy wyjątek
  8. transakcje obchodzić
  9. zamknąć połączenie

W zasadzie nie trzeba się martwić o zarządzanie i cierpi infrastruktury wodociągowej i/code czysto martwić danych i ich odwzorowanie na obiekty.

Sprężyna wykorzystuje wzór szablonu, aby ukryć wszystkie szczegóły niskiego poziomu, jednocześnie udostępniając przedłużenia, aby rozszerzyć i pracować z JDBC.

Ponadto, nie jest dobrze zdefiniowane API wyjątki baz danych, który jest naprawdę programista w obsłudze w porównaniu do hierarchii wyjątków przewidzianych przez niski poziom JDBC API

+0

Proszę podać źródła, kiedy można: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html Tym bardziej, że w tym przypadku, ponieważ niektóre z wymienione elementy nie są dostarczane przez Spring. – user183037

16

Pokażę ci prosty przykład przy użyciu 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(); 
} 

jest znacznie lepiej, gdy try-with-zasobów choć:

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); 
} 

oczywiście można wyodrębnić wspólny kod i użyć metoda szablonowa Wzór projektu. Skutecznie chcesz narastającymi JdbcTemplate:

final int c = new JdbcTemplate(ds).queryForInt("SELECT COUNT(*) FROM Orders"); 

Również wiosną JDBC zapewnia tłumaczenie wyjątku (nie więcej sprawdzane SQLException i różnice między bazami danych/dialektów) oraz proste funkcje ORM.

1

1.) Moduł wiosna jdbc to warstwa abstrakcji na szczycie technologii jdbc, ta warstwa unika kodu płyty kotła używanego w programowaniu jdbc. 2.) Wiosenny moduł ORM to warstwa abstrakcji na najlepszych narzędziach ORM. 3.) Podczas pracy z narzędziami ORM jak hibernacja mamy ponownie kod płyty kotła tej wiosny warstwa ORM unika kodu płyty kotła narzędzi ORM.