SlideShare ist ein Scribd-Unternehmen logo
1 von 21
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt? (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
 

Ähnlich wie Bases de Datos con JDBC para MySQL

Ähnlich wie 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
 

Kürzlich hochgeladen

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 

Kürzlich hochgeladen (10)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 

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