SlideShare una empresa de Scribd logo
Spring JDBC
Relator: Alejandro González (info@janogonzalez.com)
Temario General
➔ JDBC
➔ BeanFactory
➔ JdbcTemplate
➔ SimpleJdbcDaoSupport
Recordemos JDBC
JDBC
➔ API para conexión a bases de datos (Java
DataBase Connection)
JDBC
➔ Las abstracciones básicas son:
➔ DataSource: Una base de datos
➔ Connection: Una conexión a la base de datos
➔ Statement: Una consulta SQL a ejecutar
➔ ResultSet: El conjunto de resultados entregado por
la ejecución de la consulta
➔ Se deben tomar precauciones para no dejar
recursos sin cerrar
JDBC
➔ Usar JDBC involucra siempre los mismos
pasos:
➔ Obtener una conexión al DataSource
➔ Crear un PreparedStatement con la consulta
➔ Ejecutar la consulta e iterar los resultados
➔ Manejar una posible SQLException
➔ Preocuparse de no dejar recursos abiertos
Si lo recuerdo...
¿Pero cómo Spring facilita
el uso de esta API?
DRY al rescate
JDBCTemplate
➔ Insertando datos...
String sql = "insert into tabla(columna) values(?)";
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
jdbcTemplate.update(sql, new Object[] { valor });
JDBCTemplate
➔ En Java 5
String sql = "insert into tabla(columna) values(?)";
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
jdbcTemplate.update(sql, valor);
JDBCTemplate
➔ Consultando datos...
String sql = "select * from table where columna = ?";
JdbcTemplate jdbcTemplate =
new JdbcTemplate(dataSource);
ElObjeto resultado = (ElObjeto)
jdbcTemplate.queryForObject(sql, new Object[] { id },
new ElObjetoRowMapper());
return vehicle;
SimpleJdbcDaoSupport
➔ Si el DAO extiende SimpleJdbcDao Support,
hay menos que escribir
String sql = "select * from table where columna = ?";
ElObjeto resultado = (ElObjeto)
getJdbcTemplate().queryForObject(sql, new Object[]
{ id }, new ElObjetoRowMapper());
return vehicle;

Más contenido relacionado

PDF
Reparar base de datos sql server con dbcc checkdb nu canjo sistemas
DOCX
Creando y configurando un data source a mysql en glassfish4
DOCX
Conexion
PDF
Lab 03 20111429
PPTX
PPTX
03 acceso a datos con ado net
PPT
Base de Datos por Gustavo V.M
PDF
Taller de Unit Testing y TDD en Java: Parte 1
Reparar base de datos sql server con dbcc checkdb nu canjo sistemas
Creando y configurando un data source a mysql en glassfish4
Conexion
Lab 03 20111429
03 acceso a datos con ado net
Base de Datos por Gustavo V.M
Taller de Unit Testing y TDD en Java: Parte 1

Similar a Spring jdbc (20)

PPT
Bases de Datos en en www.fiec.espol.edu.ec
PPTX
Java con base de datos
PPT
Java y Bases Datos
PPT
Bases Datos en java
PPT
Java y Bases de Datos
PDF
Jyoc java-cap16 persistencia. bases de datos
PPTX
Java con base de datos
PDF
Acceso a datos con JDBC.pdf
PPTX
Jdbc(desarrollo de software i yanina y yenny)
PPTX
Diapositiva JDBC
PPTX
Java con base de datos
PPTX
Java con base de datos
PDF
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
PPT
Java con Base de Datos
PPT
Java con Base de Datos
Bases de Datos en en www.fiec.espol.edu.ec
Java con base de datos
Java y Bases Datos
Bases Datos en java
Java y Bases de Datos
Jyoc java-cap16 persistencia. bases de datos
Java con base de datos
Acceso a datos con JDBC.pdf
Jdbc(desarrollo de software i yanina y yenny)
Diapositiva JDBC
Java con base de datos
Java con base de datos
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
Java con Base de Datos
Java con Base de Datos
Publicidad

Más de Jano González (14)

PDF
Vim FTW!
PDF
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
PDF
JRuby: Ruby en un mundo enterprise
PDF
Programación Políglota en la JVM
PDF
A Little RSpec
PDF
JRuby ¿Lo mejor de dos mundos?
PDF
Un emulador de Game Boy escrito en Ruby (parte 1)
PDF
Curso de Spring: Transacciones
PDF
Análisis y Diseño OO 2
PDF
Análisis y Diseño OO 1
PDF
Programación Java
PDF
Curso de Spring: Beans
PDF
Un newbie conoce a Sinatra
Vim FTW!
JRuby: Ruby en un mundo enterprise RubyConf Uruguay 2011
JRuby: Ruby en un mundo enterprise
Programación Políglota en la JVM
A Little RSpec
JRuby ¿Lo mejor de dos mundos?
Un emulador de Game Boy escrito en Ruby (parte 1)
Curso de Spring: Transacciones
Análisis y Diseño OO 2
Análisis y Diseño OO 1
Programación Java
Curso de Spring: Beans
Un newbie conoce a Sinatra
Publicidad

Spring jdbc

  • 1. Spring JDBC Relator: Alejandro González (info@janogonzalez.com)
  • 2. Temario General ➔ JDBC ➔ BeanFactory ➔ JdbcTemplate ➔ SimpleJdbcDaoSupport
  • 4. JDBC ➔ API para conexión a bases de datos (Java DataBase Connection)
  • 5. JDBC ➔ Las abstracciones básicas son: ➔ DataSource: Una base de datos ➔ Connection: Una conexión a la base de datos ➔ Statement: Una consulta SQL a ejecutar ➔ ResultSet: El conjunto de resultados entregado por la ejecución de la consulta ➔ Se deben tomar precauciones para no dejar recursos sin cerrar
  • 6. JDBC ➔ Usar JDBC involucra siempre los mismos pasos: ➔ Obtener una conexión al DataSource ➔ Crear un PreparedStatement con la consulta ➔ Ejecutar la consulta e iterar los resultados ➔ Manejar una posible SQLException ➔ Preocuparse de no dejar recursos abiertos
  • 7. Si lo recuerdo... ¿Pero cómo Spring facilita el uso de esta API?
  • 9. JDBCTemplate ➔ Insertando datos... String sql = "insert into tabla(columna) values(?)"; JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.update(sql, new Object[] { valor });
  • 10. JDBCTemplate ➔ En Java 5 String sql = "insert into tabla(columna) values(?)"; JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); jdbcTemplate.update(sql, valor);
  • 11. JDBCTemplate ➔ Consultando datos... String sql = "select * from table where columna = ?"; JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource); ElObjeto resultado = (ElObjeto) jdbcTemplate.queryForObject(sql, new Object[] { id }, new ElObjetoRowMapper()); return vehicle;
  • 12. SimpleJdbcDaoSupport ➔ Si el DAO extiende SimpleJdbcDao Support, hay menos que escribir String sql = "select * from table where columna = ?"; ElObjeto resultado = (ElObjeto) getJdbcTemplate().queryForObject(sql, new Object[] { id }, new ElObjetoRowMapper()); return vehicle;