SlideShare una empresa de Scribd logo
JDBC
Java Database
Connectivity
JDBC
Es un conjunto de clases e interfaces Java que
permiten la manipulación de sentencias SQL de
una fuente de datos ( base de datos ).
La API de JDBC define un conjunto de clases e
interfaces que proporcionan toda la
funcionalidad que el acceso a base de datos
requiere, tal como la ejecución de consultas SQL
o el tratamiento de resultados
Todo el conjunto de clases e interfaces de JDBC
se encuentra dentro del paquete: java.sql y
javax.sql
Controlador
También llamado drivers JDBC y son adaptadores
de Cliente, es decir, se instala en la máquina y no
el servidor.
Es una implementación de varias interfaces
especificadas en los paquetes
Se usa para conectar una aplicacion en java con
una Base de Datos.
Clases e Interfaces
Conexión:
● DriveManager: Se usa para cargar un driver
● Connection : Se usa para establecer conexiones con las bases de
datos
● DatabaseMetaData: Información sobre la base de datos en general
Clases e Interfaces
Comandos:
● Statement: Se usa para crear sentencias SQL y enviarlas a las BD
● PreparedStatment : Similar a Statement con la diferencia que se
protege de inyecciones
Resultados:
● Resulset: Recibe el resultado de las consultas
● ResultSetMetaData: Información propiedades de un ResultSet
Pasos para utilizar JDBC en Java
Conexión
servidor: localhost ó 127.0.0.1
(ubicación donde se encuentra el servidor de la base de datos, puede ser
cambiado por la ip si el servidor se encuentra en otro equipo en red)
bd: test (nombre de la base de datos)
usuario: nelsonaph
password: *********
CRUD
Create
Read
Update
Delete
Para efectuar las sentencias SQL es necesario
utilizar la interface Statement que provee
métodos para realizar esas tareas
● executeUpdate
Retorna un número entero indicando la
cantidad de registros afectados UPDATE-
INSERT-DELETE
● executeQuery
Regresa un conjunto de resultados que se
almacenan en un objeto ResultSet
CRUD
Create
Instanciamos a consultados que es un objeto de la clase
Statement
Realizamos la consulta
consultados.executeUpdate(" CONSULTA SQL ")
El problema con Statment sucede cuando la consulta se
realiza dentro de un ciclo y varia solo en unos valores:
stmt.executeQuery("select * from Usuarios where id=" + i)
En cambio, con el PreparedStatement se declara la
sentencia en general y si se ejecuta varias veces solo se
cambian los parámetros de entrada sin tener que volver a
declarar toda la sentencia
Statement y PreparedStatement
Read
consulta es un objeto de PreparedStatement la cual es
similar a Statement con la diferencia que es más seguro.
porque precompila el query.
datos=consulta.executeQuery();
La consulta nos genera un resultado tipo Resulset y lo
podemos guardar en "datos".
Imprimir la consulta:
System.out.print(datos.getString("usuario"));
Cuando se lanza un método getXXX sobre un objeto ResultSet, el
driver JDBC convierte el dato que se quiere recuperar a el tipo Java
especificado y entonces devuelve un valor Java adecuado.
Update
Delete
Manejo de Excepciones
La mayor parte de las operaciones que nos
proporciona el API JDBC lanzarán la excepción
java.sql.SQLException en caso de que se
produzca algún error a la base de datos, pueden
ser errores de conexión, sentencias sql
incorrectas, falta de privilegios, etc.
Manejo de Excepciones
Es necesario dar un tratamiento adecuado a estas
excepciones y encerrar todo el código JDBC entre
bloques try/catch.
JDBC da acceso a la información de un fallo
proporcionando dos niveles de condiciones del
error: SQLException y SQLWarning
Manejo de Excepciones
SQLExceptions: Son las excepciones de Java que,
si no manejó, terminarán la aplicación.
Manejo de Excepciones
SQLWarnings: Representan errores no fatales o
condiciones inesperadas, pueden ignorarse.
Referencias
http://eisc.univalle.edu.co/materias/BD/IntroduccionAlJDBC.pdf
http://www.codigofantasma.com/blog/conectar-java-con-mysql-usando-
jdbc/
http://docs.oracle.com/javase/tutorial/jdbc/basics/gettingstarted.html
http://www.slideshare.net/roramas/curso-bsico-de-jdbc
GRACIAS
Nelson Portilla
Juan Diego Prado
Fernando Sanchez
Universidad del Valle - 2013

Más contenido relacionado

La actualidad más candente (17)

Trabajo Connectar
Trabajo ConnectarTrabajo Connectar
Trabajo Connectar
 
Estudiante
EstudianteEstudiante
Estudiante
 
Jhonzambrano-dhalinpalomino
Jhonzambrano-dhalinpalominoJhonzambrano-dhalinpalomino
Jhonzambrano-dhalinpalomino
 
Año del buen servicio al cuidadano
Año del buen servicio al cuidadanoAño del buen servicio al cuidadano
Año del buen servicio al cuidadano
 
Jdbc
JdbcJdbc
Jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jsp1101
Jsp1101Jsp1101
Jsp1101
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 
JDBC
JDBCJDBC
JDBC
 
Capa de presentacion
Capa de presentacionCapa de presentacion
Capa de presentacion
 
Sqlite
SqliteSqlite
Sqlite
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Vistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de SistemasVistas y Base de Datos - Analisis de Sistemas
Vistas y Base de Datos - Analisis de Sistemas
 
Statement
StatementStatement
Statement
 
Clase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de SistemasClase conexion java - Analisis de Sistemas
Clase conexion java - Analisis de Sistemas
 
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzanoEsquemas de seguridad en los sistemas de bases de datos juan anaya manzano
Esquemas de seguridad en los sistemas de bases de datos juan anaya manzano
 

Similar a Bases de Datos con JDBC para MySQL

Similar a Bases de Datos con JDBC para MySQL (20)

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 y Base de Datos
Java y Base de DatosJava y Base de Datos
Java y 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
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Acceso a datos con JAVA
Acceso a datos con JAVAAcceso a datos con JAVA
Acceso a datos con JAVA
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(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
 
Jdbc
JdbcJdbc
Jdbc
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Statement
StatementStatement
Statement
 
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
 
Statement
StatementStatement
Statement
 
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
 
Java con Base de Datos
Java con Base de Datos Java 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
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 

Último

HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx44652726
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaFernando Villares
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesPABLOCESARGARZONBENI
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusraquelariza02
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxTaim11
 

Último (20)

HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Robótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptxRobótica educativa para la eduacion primaria .pptx
Robótica educativa para la eduacion primaria .pptx
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Presentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptxPresentacion y Extension de tema para Blogger.pptx
Presentacion y Extension de tema para Blogger.pptx
 

Bases de Datos con JDBC para MySQL

  • 2. JDBC Es un conjunto de clases e interfaces Java que permiten la manipulación de sentencias SQL de una fuente de datos ( base de datos ). La API de JDBC define un conjunto de clases e interfaces que proporcionan toda la funcionalidad que el acceso a base de datos requiere, tal como la ejecución de consultas SQL o el tratamiento de resultados Todo el conjunto de clases e interfaces de JDBC se encuentra dentro del paquete: java.sql y javax.sql
  • 3. Controlador También llamado drivers JDBC y son adaptadores de Cliente, es decir, se instala en la máquina y no el servidor. Es una implementación de varias interfaces especificadas en los paquetes Se usa para conectar una aplicacion en java con una Base de Datos.
  • 4. Clases e Interfaces Conexión: ● DriveManager: Se usa para cargar un driver ● Connection : Se usa para establecer conexiones con las bases de datos ● DatabaseMetaData: Información sobre la base de datos en general
  • 5. Clases e Interfaces Comandos: ● Statement: Se usa para crear sentencias SQL y enviarlas a las BD ● PreparedStatment : Similar a Statement con la diferencia que se protege de inyecciones Resultados: ● Resulset: Recibe el resultado de las consultas ● ResultSetMetaData: Información propiedades de un ResultSet
  • 6. Pasos para utilizar JDBC en Java
  • 7. Conexión servidor: localhost ó 127.0.0.1 (ubicación donde se encuentra el servidor de la base de datos, puede ser cambiado por la ip si el servidor se encuentra en otro equipo en red) bd: test (nombre de la base de datos) usuario: nelsonaph password: *********
  • 9. Para efectuar las sentencias SQL es necesario utilizar la interface Statement que provee métodos para realizar esas tareas ● executeUpdate Retorna un número entero indicando la cantidad de registros afectados UPDATE- INSERT-DELETE ● executeQuery Regresa un conjunto de resultados que se almacenan en un objeto ResultSet CRUD
  • 10. Create Instanciamos a consultados que es un objeto de la clase Statement Realizamos la consulta consultados.executeUpdate(" CONSULTA SQL ")
  • 11. El problema con Statment sucede cuando la consulta se realiza dentro de un ciclo y varia solo en unos valores: stmt.executeQuery("select * from Usuarios where id=" + i) En cambio, con el PreparedStatement se declara la sentencia en general y si se ejecuta varias veces solo se cambian los parámetros de entrada sin tener que volver a declarar toda la sentencia Statement y PreparedStatement
  • 12. Read consulta es un objeto de PreparedStatement la cual es similar a Statement con la diferencia que es más seguro. porque precompila el query. datos=consulta.executeQuery(); La consulta nos genera un resultado tipo Resulset y lo podemos guardar en "datos". Imprimir la consulta: System.out.print(datos.getString("usuario"));
  • 13. Cuando se lanza un método getXXX sobre un objeto ResultSet, el driver JDBC convierte el dato que se quiere recuperar a el tipo Java especificado y entonces devuelve un valor Java adecuado.
  • 16. Manejo de Excepciones La mayor parte de las operaciones que nos proporciona el API JDBC lanzarán la excepción java.sql.SQLException en caso de que se produzca algún error a la base de datos, pueden ser errores de conexión, sentencias sql incorrectas, falta de privilegios, etc.
  • 17. Manejo de Excepciones Es necesario dar un tratamiento adecuado a estas excepciones y encerrar todo el código JDBC entre bloques try/catch. JDBC da acceso a la información de un fallo proporcionando dos niveles de condiciones del error: SQLException y SQLWarning
  • 18. Manejo de Excepciones SQLExceptions: Son las excepciones de Java que, si no manejó, terminarán la aplicación.
  • 19. Manejo de Excepciones SQLWarnings: Representan errores no fatales o condiciones inesperadas, pueden ignorarse.
  • 21. GRACIAS Nelson Portilla Juan Diego Prado Fernando Sanchez Universidad del Valle - 2013