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

Similar a Spring jdbc

Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
Silvana Vargas
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Erlin Darwin Herrera cieza
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
Ronny Parra
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
Estefania Arias Torres
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
jent46
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
Jyoc X
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Patricia Reyna
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
ArmandoPilacuan
 
Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
yenny isabel cuello moron
 
5 a bd_servidor
5 a bd_servidor5 a bd_servidor
JDBC
JDBCJDBC
Java con bd
Java con bdJava con bd
Diapositiva JDBC
Diapositiva JDBCDiapositiva JDBC
Diapositiva JDBC
LIZBETH LIZANA CARRASCO
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
Jaime Aguilar Rafael
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
jhersi saavedra garcia
 
Jdbc
JdbcJdbc
Jdbc
JdbcJdbc
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
Samuel Marrero
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
Jesus NM
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
Jesus NM
 

Similar a Spring jdbc (20)

Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
 
5 a bd_servidor
5 a bd_servidor5 a bd_servidor
5 a bd_servidor
 
JDBC
JDBCJDBC
JDBC
 
Java con bd
Java con bdJava con bd
Java con bd
 
Diapositiva JDBC
Diapositiva JDBCDiapositiva JDBC
Diapositiva JDBC
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 

Más de Jano González

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

Más de Jano González (14)

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

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;