2012-02-27 22 views

Respuesta

0

Spring JDBC? Solo sé de un par de plantillas Spring JDBC.

Permiten acceder a la funcionalidad JDBC desde el contenedor Spring y proporcionan algunas simplificaciones adicionales en comparación con el JDBC simple, como la administración de conexiones y el manejo de excepciones.

Básicamente, Spring es más difícil de configurar pero más fácil de desarrollar, por lo que todo depende del alcance del problema al que se enfrenta.

2

primavera JDBC valor añadido proporcionado por la conexión en la capa superior de JDBC

  1. Definir de Spring Framework parámetros de
  2. Abrir la conexión
  3. Especificar la declaración
  4. preparar y ejecutar la instrucción
  5. Configure el ciclo para iterar a través de los resultados (si corresponde)
  6. Haga el trabajo para cada iteración
  7. Proceso ninguna excepción
  8. transacciones Handle
  9. cerrar la conexión

Básicamente, usted no necesita preocuparse por la gestión y el sufrimiento de código de infraestructura/fontanería y puramente preocuparse de los datos y su asignación a objetos.

Spring utiliza un patrón de plantilla para ocultar todos los detalles de bajo nivel mientras le da ganchos de extensión para extender y trabajar con JDBC.

Además, hay una API bien definido para las excepciones de bases de datos, que es realmente amistoso con el desarrollador en comparación con jerarquía de excepciones proporcionado por de bajo nivel API JDBC

+0

Por favor cite sus fuentes cuando pueda: http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/jdbc.html Más aún en este caso ya que algunos de los artículos enumerados no son proporcionados por Spring. – user183037

16

Permítanme mostrarles algún ejemplo sencillo utilizando 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(); 
} 

es mucho mejor cuando try-con-recursos embargo:

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

Por supuesto se puede extraer y utilizar código común plantilla método Patrón de diseño. Efectiva que le reinventar JdbcTemplate:

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

también JDBC proporciona la traducción de Primavera excepción (no más marcada SQLException y diferencias entre las bases de datos/dialectos) y capacidades de ORM simples.

1

1.) El módulo jdbc de Spring es una capa de abstracción sobre la tecnología jdbc, esta capa evita el código de placa de la caldera utilizado en la programación jdbc. 2.) Spring ORM module es una capa de abstracción en las herramientas superiores de ORM. 3.) Cuando trabajamos con herramientas ORM como un Hibernate nuevamente, tenemos un código de placa de caldera. Esta capa ORM de primavera evita el código de placa de caldera de las herramientas ORM.