Spring community day 2010
-
Upload
jonathan-lara-vasquez -
Category
Technology
-
view
1.428 -
download
2
Transcript of Spring community day 2010
Spring Community Day 2010
Spring DAO
Jonathan Lara@jonathanlarav
Agenda - I
Spring DAO
Generalidades
Jerarquía de excepciones
Clases de soporte
Spring JDBC
Motivaciones
Clases de soporte de Spring JDBC
Controlando las conecciones
Usando SimpleJdbc
Agenda - II
Spring Transaction Management
Atributos
Tipos:
Definición programática
Definición declarativa - XML
Definición declarativa - Anotaciones
Spring DAO
Nos da un camino sencillo para poder interactuar
con tecnologías como JDBC, Hibernate, JDO.
Abstrae el manejo de excepciones específicas
por cada tenología.
Nos permite cambiar entre tecnologías de
persistencia facilmente.
Motivaciones
Jerarquía de excepciones
JdbcDaoSupport
Req. DataSource. (+) JdbcTemplate
HibernateDaoSupport
Req. SessionFactory. (+) HibernateTemplate
JdoDaoSupport
Req. PersistenceManagerFactory. (+) JdoTemplate
JpaDaoSupport
Req. EntityManagerFactory. (+) JpaTemplate
Clases de soporte
Spring JDBC
Pasos para trabajar con JDBC
Definir los parámetros de conección.
Abrir la conección.
Definir la sentencia
Preparar y ejecutar la sentencia
Iterar los resultados
Procesar cada resultado
Procesar las excepciones
Capturar las excepciones
Cerrar la conección
Motivaciones
JdbcTemplate
NamedParameterJdbcTemplate
SimpleJdbcTemplate
SimpleJdbcInsert y SimpleJdbcCall
SqlUpdate, StoredProcedure, etc…
Clases de soporte
JdbcTemplate
Implementación clásica de Spring JDBC.
Es el nivel más bajo para JDBC
Las demás implementaciones utilizan internamente
JdbcTemplate.
JDK 1.4 (+)
Clases de soporte
NamedParameterJdbcTemplate
Envuelve JdbcTemplate y permite usar nombres para
los parámetros en vez del comodín ( ? )
JDK 1.4 (+)
Clases de soporte
SimpleJdbcTemplate
Combina las funcionalidades de las dos anteriores.
Utiliza funcionalidades de Java 5 como varargs,
autoboxing, generics.
JDK 1.5 (+)
Clases de soporte
SimpleJdbcInsert y SimpleJdbcCall
Recibe un Map de parámetros y el nombre de una
tabla o store procedure y realiza una comparación
entre los nombres de las columnas.
Internamente utiliza SimpleJdbcTemplate.
JDK 1.5 (+)
Clases de soporte
Clases de soporte de Spring para el acceso a las
conecciones.
DataSourceUtils.
SmartDataSource.
AbstractDataSource
SingleConnecionDataSource
DriverManagerDataSource
Controlando las conecciones
Some code…
Usando SimpleJdbc
Insertando datos y obteniendo un autogenerado…
Usando SimpleJdbc
Especificando columnas en base a una clase…
Usando SimpleJdbc
Ejecutando SP’s con SimpleJdbcCall…
Usando SimpleJdbc
Obteniendo un cursor…
Usando SimpleJdbc
Spring Transaction Management
Name
Timeout
Read-only
Propagation
Isolation
Atributos
Tipos:
REQUIRED
REQUIRES_NEW
MANDATORY
NESTED
NEVER
NOT_SUPPORTED
SUPPORTS
Propagation
REQUIRED
REQUIRES_NEW
Tipos:
DEFAULT
READ_UNCOMMITED
READ_COMMITED
REPEATABLE_READ
SERIALIZABLE
Isolation
Configuración:
Referenciar el bean TransactionTemplate
Definición programática
Usaremos AOP:
Definición declarativa - XML
Configurando el manejo de anotaciones…
Definición declarativa - Anotaciones
Spring JDBC provee una forma sencilla y eficiente
para poder acceder de diferentes formas a recursos
de la BBDD.
Conclusiones
Spring Transaction Management provee atributos
constantes para configurar de manera programática
o declarativa el manejo de transacciónes en nuestra
aplicación.
SpringHispano.org
SpringFramework.org
http://delicious.com/jonathanlarav
Tag de Spring y Spring Tx
Referencias
Gracias!!!