2012-02-27 16 views

risposta

0

Spring JDBC? Conosco solo un paio di modelli Spring JDBC.

Essi consentono di accedere alle funzionalità JDBC dal contenitore Spring e forniscono alcune semplificazioni aggiuntive rispetto al JDBC normale, come la gestione delle connessioni e la gestione delle eccezioni.

Fondamentalmente Spring è più difficile da configurare ma più facile da sviluppare, quindi tutto dipende dalla portata del problema che si sta affrontando.

2

Primavera JDBC valore aggiunto fornito dalla connessione su strato superiore JDBC

  1. Definire del Spring Framework Parametri
  2. Aprire il collegamento
  3. Specificare la dichiarazione
  4. Preparare ed eseguire l'istruzione
  5. Impostare il ciclo per iterare i risultati (se presenti)
  6. Eseguire il lavoro per ciascuna iterazione
  7. processo alcuna eccezione
  8. transazioni Maniglia
  9. chiudere la connessione

Fondamentalmente, non c'è bisogno di preoccuparsi di gestire e che soffrono di infrastrutture codice/idraulico e puramente preoccuparsi di dati e la sua mappatura oggetti.

La molla utilizza il modello di modello per nascondere tutti i dettagli di basso livello mentre fornisce ganci di estensione per estendere e lavorare con JDBC.

Inoltre, v'è un'API ben definito per le eccezioni di database, che è davvero developer-friendly rispetto alla gerarchia deroga prevista dal di basso livello JDBC API

+0

Si prega di citare le proprie fonti quando è possibile: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html Tanto più in questo caso poiché alcuni gli articoli elencati non sono forniti da Spring. – user183037

16

Lasciate che vi mostri qualche semplice esempio utilizzando 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(); 
} 

e 'molto meglio quando le risorse try-con-se:

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

Naturalmente è possibile estrarre il codice comune e utilizzare metodo modello Disegno modello. Effettivamente ci si reinventare JdbcTemplate:

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

anche Primavera JDBC fornisce la traduzione eccezione (non più controllato SQLException e le differenze tra database/dialetti) e capacità di ORM semplici.

1

1.) Il modulo jdbc Spring è uno strato di astrazione sulla tecnologia jdbc, questo livello evita il codice della piastra della caldaia utilizzato nella programmazione jdbc. 2.) Il modulo Spring ORM è un livello di astrazione sugli strumenti ORM superiori. 3.) Quando si lavora con strumenti ORM come un ibernazione, abbiamo di nuovo un codice piastra caldaia questo strato ORM molla evita il codice piastra caldaia degli strumenti ORM.

Problemi correlati