SlideShare una empresa de Scribd logo
“AÑO DE LA CONSOLIDACIÓNDEL MAR DE GRAU”
ASIGNATURA:
Tecnología de la Programación II
TEMA:
Conexión desde una aplicación en Java a una BD en MySQL.
DOCENTE:
Vidal melgarejo, Zoraida Yanet
ESCUELA ACADEMICA PROFESIONAL:
Ingeniería de Sistemas
INTEGRANTES:
 Caldas Domínguez, Roque.
 Fernando Vargas, Luis.
 Medina Febre, Héctor.
 Barraza Canchán, Ingelshin.
 Pauca Castillo, Elvis.
CICLO: V
TRUJILLO – PERU
2016
CONTENIDO
I. INTRODUCCIÓN.........................................................................................................1
II. BASE DE DATOS RELACIONALES................................................................................1
III. SQL (STRUCTURED QUERY LANGUAGE).......................................................................3
A. Recuperar Datos........................................................................................................3
B. Almacenar Información .............................................................................................4
C. Eliminar Información.................................................................................................4
D. Modificar Información...............................................................................................4
IV. JAVA DATABASE CONECTIVITY(JDBC)....................................................................5
V. INSTALACIÓN DE MYSQL CONNECTOR/J.........................................................................7
VI. PASOS PARA UTILIZAR JDBC EN APLICACIONES JAVA ...................................................7
A. CARGAR EL DRIVER JDBC............................................................................................8
B. OBTENER LA CONEXIÓN.............................................................................................9
C. CREAR EL COMANDO SQL. .......................................................................................10
D. EJECUTAR EL COMANDO SQL...................................................................................10
E. PROCESAR LOS RESULTADOS....................................................................................11
F. LIBERAR LOS RECURSOS...........................................................................................11
UNIVERSIDADNACIONALDETRUJILLO
pág. 1
I. INTRODUCCIÓN
Una base de datos es una colección organizada de datos. Existen diversas
estrategias para organizar datos y facilitar el acceso y la manipulación. Un sistema
de administración de bases de datos (DBMS) proporciona los mecanismos para
almacenar, organizar, obtener y modificar datos para muchos usuarios. Los
sistemas de administración de bases de datos permiten el acceso y
almacenamiento de datos sin necesidad de preocuparse por su representación
interna. En la actualidad, los sistemas de bases de datos más populares son las
bases de datos relacionales, en donde los datos se almacenan sin considerar su
estructura física.
La mayoría de los sistemas de administración de bases de datos populares
incluyen ahora controladores de JDBC. También hay muchos controladores de
JDBC de terceros disponibles. En este capítulo presentaremos la tecnología JDBC
y la emplearemos para manipular bases de datos de MySQL y Java DB. Las
técnicas que demostraremos aquí también pueden usarse para manipular otras
bases de datos que tengan controladores de JDBC. Consulte la documentación
de su DBMS para determinar si incluye un controlador de JDBC. Incluso si su
DBMS no viene con un controlador de JDBC, muchos distribuidores
independientes proporcionan estos controladores para una amplia variedad de
sistemas DBMS.
II. BASE DE DATOS RELACIONALES
Una base de datos relacional es una representación lógica de datos que permite
acceder a éstos sin necesidad de considerar su estructura física. Una base de
datos relacional almacena los datos en tablas. En la figura1 se muestra una tabla
de ejemplo que podría utilizarse en un sistema de personal. El nombre de la tabla
es Empleado, y su principal propósito es almacenar los atributos de un empleado.
Las tablas están compuestas de filas, y las filas, de columnas en las que se
almacenan los valores. Esta tabla consiste de seis filas. La columna Numero de
cada fila en esta tabla es su clave primaria: una columna (o grupo de columnas)
en una tabla que tiene un valor único, el cual no puede duplicarse en las demás
filas. Esto garantiza que cada fila pueda identificarse por su clave primaria.
Algunos buenos ejemplos de columnas con clave primaria son un número de
seguro social, un número de identificación de empleado y un número de pieza
en un sistema de inventario, ya que se garantiza que los valores en cada una de
UNIVERSIDADNACIONALDETRUJILLO
pág. 2
esas columnas serán únicos. Las filas de la figura1 se muestran en orden, con
base en la clave primaria.
En este caso, las filas se muestran en orden ascendente; también podríamos
utilizar el orden descendente.
Figura 1 | Datos de ejemplo de la tabla Empleado.
No se garantiza que las filas en las tablas se almacenen en un orden específico.
Como lo demostraremos en un ejemplo más adelante, los programas pueden
especificar criterios de ordenamiento al solicitar datos de una base de datos.
Cada columna de la tabla representa un atributo de datos distinto. Las filas
generalmente son únicas (por clave primaria)dentro de una tabla, pero los valores
de columnas específicas pueden duplicarse entre filas.
Por ejemplo, tres filas distintas en la columna Departamento de la tabla Empleado
contienen el número 413.
A menudo los distintos usuarios de una base de datos se interesan en datos
diferentes, y en relaciones distintas entre esos datos. La mayoría de los usuarios
requieren solamente de ciertos subconjuntos de las filas y columnas.
Para obtener estos subconjuntos, utilizamos consultas para especificar cuáles
datos se deben seleccionar de una tabla. Utilizamos SQL para definir consultas
complejas que seleccionen datos de una tabla. Por ejemplo, podríamos
seleccionar datos de la tabla Empleado para crear un resultado que muestre en
dónde se ubican los departamentos, y presentar los datos ordenados en forma
ascendente, por número de departamento. Este resultado se muestra en la
figura2. Hablaremos sobre las consultas de SQL más adelante.
Figura 2 | Resultado de seleccionar distintos datos de Departamento y Ubicación
de la tabla Empleado.
UNIVERSIDADNACIONALDETRUJILLO
pág. 3
III. SQL (STRUCTURED QUERY LANGUAGE)
Es un lenguaje declarativo de BASE DE DATOS RELACIONALES que permite
especificar diversos tipos de operaciones en ella.
Ejemplo: Tenemos un registro en una base de datos, en la base de datos existen
tres tablas relacionadas: Profesor, Asignatura y Curso. Se sabe que un profesor
puede tener varios cursos, pero un curso no puede tener varios profesores
también que un profesor pertenece a un departamento, pero un departamento
puede tener varios profesores miembros. El diagrama del presente ejemplo sería
el siguiente:
Figura 3 | diagrama de base de datos
A. Recuperar Datos
La recuperación de los datos contenidos en las tablas lo realizamos a través de la
consulta SELECT que extrae información de la DB.
Tomando el ejemplo anterior realizaremos una consulta:
Figura 4 | recuperación de datos de la tabla Profesor
UNIVERSIDADNACIONALDETRUJILLO
pág. 4
B. Almacenar Información
El almacenamiento o la inserción de datos lo realizamos a través de la consulta
INSERT, la cual insertará datos a la tabla.
Tomando el ejemplo anterior realizaremos una consulta:
Figura 5 | almacenar información en la tabla Departamento
C. Eliminar Información
Cuando queremos eliminar información de una tabla o varias tablas relacionadas
utilizamos la sentencia DELETE la cual eliminará la información si se cumple con
los requerimientos que necesite para ser eliminada, esta información no se podrá
recuperar es por ello que es poco frecuente que se eliminen datos, lo más
probable es que solo se actualicen.
Tomando el ejemplo anterior realizaremos una consulta:
Figura 6 | eliminar registros de la tabla Curso
D. Modificar Información
Comúnmente existe información que necesita ser actualizada en ciertos periodos
o en ciertas operaciones es en donde utilizamos la instrucción de SQL llamada
UODATE que combinada con SET y WHERE modifican y/o actualizan de manera
correcta la información de una tabla o varias tablas relacionadas entre sí.
Tomando el ejemplo anterior realizaremos una consulta:
Figura 7 | modificar información de la tabla Profesor
UNIVERSIDADNACIONALDETRUJILLO
pág. 5
IV. JAVA DATABASE CONECTIVITY(JDBC)
JDBC es Acrónimo de Java DataBase Conectivity es una API que permite la
ejecución de operaciones sobre bases de datos desde el lenguaje de
programación Java, independientemente del sistema operativo donde se
ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del
modelo de base de datos que se utilice.
Java Database Connectivity (JDBC) es una interface de acceso a bases de datos
estándar SQL que proporciona un acceso uniforme a una gran variedad de
bases de datos relacionales. JDBC también proporciona una base común para la
construcción de herramientas y utilidades de alto nivel.
El paquete actual de JDK incluye JDBC y el puente JDBC-ODBC. Estos paquetes
son para su uso con JDK 1.0
Drivers JDBC Para usar JDBC con un sistema gestor de base de datos en
particular, es necesario disponer del driver JDBC apropiado que haga de
intermediario entre ésta y JDBC. Dependiendo de varios factores, este driver
puede estar escrito en Java puro, o ser una mezcla de Java y métodos nativos
JNI (Java Native Interface).
Usando JDBC es fácil enviar sentencias SQL virtualmente a cualquier sistema de
base de datos. En otras palabras, con el API JDBC, no es necesario escribir un
programa que acceda a una base de datos Sybase, otro para acceder a Oracle y
otro para acceder a Informix. Un único programa escrito usando el API JDBC y el
programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y,
con una aplicación escrita en el lenguaje de programación Java, tampoco es
necesario escribir diferentes aplicaciones para ejecutar en diferentes
plataformas. La combinación de Java y JDBC permite al programador escribir
una sola vez y ejecutarlo en cualquier entorno.
Java, siendo robusto, seguro, fácil de usar, fácil de entender, y descargable
automáticamente desde la red, es un lenguaje base excelente para aplicaciones
de base de datos. 4 JDBC expande las posibilidades de Java. Por ejemplo, con
Java y JDBC API, es posible publicar una página web que contenga un applet
que usa información obtenida de una base de datos remota. O una empresa
puede usar JDBC para conectar a todos sus empleados (incluso si usan un
conglomerado de máquinas Windows, Macintosh y UNIX) a una base de datos
interna vía intranet. Con cada vez más y más programadores desarrollando en
lenguaje Java, la necesidad de acceso fácil a base de datos desde Java continúa
creciendo.
UNIVERSIDADNACIONALDETRUJILLO
pág. 6
Simplemente JDBC hace posible estas tres cosas:
• Establece una conexión con la base de datos.
• Envía sentencias SQL.
• Procesa los resultados.
El siguiente fragmento de código nos muestra un ejemplo básico de estas tres
cosas:
JDBC API Como se mencionó anteriormente JDBC es una API (Aplication
Programming Interface) que encontramos en el paquete de java: java.sql, el cual
contiene algunos objetos y métodos como: DriverManager, Connection,
ResultSet, DatabaseMetaData, ResultSetMetaData, PreparedStatement,
CallableStatement, etc.
El API JDBC se presenta como una colección de interfaces Java y métodos de
gestión de manejadores de conexión hacia cada modelo específico de base de
datos. Un manejador de conexiones hacia un modelo de base de datos en
particular es un conjunto de clases que implementan las interfaces Java y que
utilizan los métodos de registro para declarar los tipos de localizadores a base
de datos (URL) que pueden manejar. Para utilizar una base de datos particular,
el usuario ejecuta su programa junto con la biblioteca de conexión apropiada al
modelo de su base de datos, y accede a ella estableciendo una conexión; para
ello provee el localizador a la base de datos y los parámetros de conexión
específicos. A partir de allí puede realizar cualquier tipo de tarea con la base de
datos a la que tenga permiso: consulta, actualización, creación, modificación y
borrado de tablas, ejecución de procedimientos almacenados en la base de
datos, etc.
Connection con = DriverManager.getConnection ( "jdbc:odbc:wombat", "login",
"password"); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) { int x = rs.getInt("a");
String s = rs.getString("b");
float f = rs.getFloat("c");
}
UNIVERSIDADNACIONALDETRUJILLO
pág. 7
V. INSTALACIÓN DE MYSQL CONNECTOR/J
Para usar MySQL con JDBC, también necesita instalar MySQL Connector/J (la J
representa a Java): un controlador de JDBC que permite a los programas usar
JDBC para interactuar con MySQL.
Para instalar MySql Connector/j
1. Descargar el archivo MySql Connector/J de dev.mysql.com /downloads
/connector/j/
2. Extraer su contenido y copiar el archivo mysql-connector-java-5.1.3.38-
bin.jar en el la carpata donde se encuentra tu proyecto de java.
OBSERVACIÓN:
La mayoría de los distribuidores de base de datos proporcionan sus propios
controladores de base de datos JDBC, y muchas distribuidoras independientes
proporcionan también controladores JDBC.
VI. PASOS PARA UTILIZAR JDBC EN APLICACIONES JAVA
Figura 8 | pasos para utilizar el JDBC en una aplicación java
UNIVERSIDADNACIONALDETRUJILLO
pág. 8
A. CARGAR EL DRIVER JDBC
Para usar JDBC con un sistema gestor de base de datos en particular, es
necesario disponer del driver JDBC apropiado que haga de intermediario entre
ésta y JDBC. Dependiendo de varios factores, este driver puede estar escrito en
Java puro, o ser una mezcla de Java y métodos nativos JNI (Java Native
Interface).
Para conectarnos a una base de datos a través de JDBC desde una aplicación
java, lo primero que necesitamos es cargar el driver.
Figura 9 | sintaxis para cargarel driver
En nuestro ejemplo utilizaremos el driver nativo de MySQLConector/J para
acceder a MySQL. Por lo tanto para cargar el driver tendríamos que escribir en
nuestro código Java:
Figura 10 | cargarel driver de MYSQL
Se utiliza el método static forName de la clase Class para cargar la clase para el
controlador de base de datos. Esta líne lanza una excepción del tipo
java.lang.ClassNotFoundException si el cargador de clases no puede localizar la
clase del del controlador. Para evitar esta excepción, necesitamos incluir el
archivo mysql-connector-java-5.1.3.38-bin.jar en la ruta de clases del programa
a la hora de ejecutarlo.
Llamado a Class.forName la aplicación java carga el driver JDBC y entonces ya
nos podemos conectar con la base de datos invocando al método
DriverManeger.getConnection.
UNIVERSIDADNACIONALDETRUJILLO
pág. 9
B. OBTENER LA CONEXIÓN
Para conectarnos a la basa de datos una vez cargado el driver, utilizaremos el
método getConnection que a su vez define una URL que indicará la ubicación
de la base de datos:
Figura 11 | sintaxispara obtenerla conexión a base dedatos
Para obtener la conexión con la base de datos de MySQL:
Figura 12 | obtenerconexión a una basede datosen MYSQL
Se crea un objeto Connection(paquete java.sql), el cual es referenciado
mediante una conexión. Un objeto que implemente la interfaz Connection
administra la conexión entre el programa java y la base de datos. Los objetos
Connection permiten a los programas crear instrucciones de SQL para
manipular base de datos. El programa inicializa a conexión con el resultado de
una llamada al método static getConnection de la clase DriverManager(paquete
java.sql), el cual trata de conectar a la base de datos especificado mediante su
URL. El método getConnection recibe tres argumentos: un objeto String que
especifica la URL de la base de datos, un objeto String que especifica el nombre
de usuraio y un objeto String que especifica la contraseña. El URL
jdbc:mysql://localhost/escuela especifica el protocolo para la comunicación
(jdbc), el subprotocolo para la comunicación(mysql) y la ubicación de la base de
datos (//localhost/escuela, en donde localhost es el host que ejecuta el
servidor MySQL y escuela es el nombre de la base de datos). El subprotocolo
mysql indica que el programa utiliza un subprotocolo específico de MySQL para
UNIVERSIDADNACIONALDETRUJILLO
pág. 10
conectarse a la base de datos MySQL. Si el objeto DriverManager no se puede
conectar a la base de datos, el método getConnection lanza una excepción
SQLException (paquete java.sql).
C. CREAR EL COMANDO SQL.
Ya que hemos establecido una conexión con la base de datos usando el método
getConnection de DriverManager ahora podemos crear sentencias SQL
utilizando la interface Statemente que provee métodos para realizar esas tarea.
Entonces tenemos que escribir en nuestro código java:
Figura 13 | crear comando SQL.
Se invoca el método createStatement de Connection para obtener un objeto
que implemente a la interfaz Statemente(paquete java.sql). El programa utiliza al
objeto Statemente para enviar instrucciones se SQL a la base de datos.
Ahora para que podemos utilizar las sentencias UPDATE, INSERT, DELETE,
SELECT tenemos que utilizar los métodos:
D. EJECUTAR EL COMANDO SQL
Figura 13 | métodospara ejecutarel comando SQL.
Ahora para que podemos utilizar las sentencias UPDATE, INSERT, DELETE,
SELECT tenemos que utilizar los métodos:
Figura 14 | ejecutarcomando SQL
Se utiliza el método executeQuery del objeto Statement para enviar una
consulta que seleccione toda la información sobre los autores en la tabla
UNIVERSIDADNACIONALDETRUJILLO
pág. 11
autores. Este método devuelve un objeto que implementa la interfaz ResultSet,
y contiene el resultado de esta consulta.
E. PROCESAR LOS RESULTADOS
Figura 15 | procesarlos resultados
F. LIBERAR LOS RECURSOS
Figura 15 | liberar los recursos

Más contenido relacionado

La actualidad más candente (20)

KEY
Fundamentos de Bases de Datos - Introducción
Manuel Padilla
 
PDF
Clases y objetos de java
innovalabcun
 
PPTX
Unidad 1. Fundamentos de Base de Datos
hugodanielgd
 
PDF
Uso de Excepciones en JAVA
innovalabcun
 
PDF
Modelo Orientado A Objetos
jose_rob
 
PPTX
Normalizacion de bases de datos
Caro_Noirgean
 
PPTX
NORMALIZACIÓN
Jorge Paredes Toledo
 
PDF
Routers CIsco: configu
Jesús Moreno León
 
PPT
Modelos de datos
Alfredo Colcha
 
PPT
Direccionamiento ip
Koldo Parra
 
PPT
Ordenar arreglos en java
eccutpl
 
ODP
Presentación tcp y udp
gonsu90
 
PPT
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
 
PPTX
Fundamentos de base de datos 1a. unidad
emilio_ambrosio
 
PPTX
ASP.NET WEB API
Thang Chung
 
PPTX
Diagramas de caso de uso
Tensor
 
PPSX
Diagramas uml
Jaziel Torres
 
PPTX
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Francesc Perez
 
PPTX
Comandos utilizados en sql
Byron Eras
 
PPT
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
 
Fundamentos de Bases de Datos - Introducción
Manuel Padilla
 
Clases y objetos de java
innovalabcun
 
Unidad 1. Fundamentos de Base de Datos
hugodanielgd
 
Uso de Excepciones en JAVA
innovalabcun
 
Modelo Orientado A Objetos
jose_rob
 
Normalizacion de bases de datos
Caro_Noirgean
 
NORMALIZACIÓN
Jorge Paredes Toledo
 
Routers CIsco: configu
Jesús Moreno León
 
Modelos de datos
Alfredo Colcha
 
Direccionamiento ip
Koldo Parra
 
Ordenar arreglos en java
eccutpl
 
Presentación tcp y udp
gonsu90
 
Metodologías Para AnáLisis Y DiseñO Orientado A Objetos
hector_h30
 
Fundamentos de base de datos 1a. unidad
emilio_ambrosio
 
ASP.NET WEB API
Thang Chung
 
Diagramas de caso de uso
Tensor
 
Diagramas uml
Jaziel Torres
 
Fundamentos de redes: 6. Direccionamiento de la red ipv4
Francesc Perez
 
Comandos utilizados en sql
Byron Eras
 
Unidad 3 Modelamiento De Datos Conceptual
Sergio Sanchez
 

Similar a Conexión desde una aplicación en java a un bd en mysql (20)

PPT
JDBC Laboratorio de Programación II
DIANA TAPIA VERA
 
PPT
Bases Datos en java
jent46
 
PPT
Java y Bases Datos
Estefania Arias Torres
 
PPT
Java y Bases de Datos
Ronny Parra
 
PPT
Bases de Datos en en www.fiec.espol.edu.ec
Silvana Vargas
 
PPT
JAVA CON BASE DE DATOS
DIANA TAPIA VERA
 
PPTX
S8-POO-4.2 BDD
Luis Fernando Aguas Bucheli
 
PDF
Bbdd en java
SttOrm sindef
 
PPTX
Diapositivas de jdbc
MISAEL DIAZ VILCHEZ
 
PPTX
Java DataBase Connectivity
Thalia Regalado Juape
 
PPTX
Presentation Introduction to Databases and its Organization
OscarAlejandro83
 
PPTX
Java con base de datos
jhersi saavedra garcia
 
DOC
JDBC MONOGRAFIA
Sefira111
 
PPTX
Tipos de bases de datos por Juan del Ángel Oláez González
Ángel Oláez
 
PPT
Java y Base de Datos
Karin Rojas Gutiérrez
 
PPTX
Trabajo desarrollo de soft.
Gerson Alarcon Regalado
 
PPTX
Jdbc
Vicente Alberca
 
PDF
Almacenamiento en bases de datos ejercicio maestria
Meymorsal
 
PPTX
Java con base de datos
Sonia Ramos Fernandez
 
JDBC Laboratorio de Programación II
DIANA TAPIA VERA
 
Bases Datos en java
jent46
 
Java y Bases Datos
Estefania Arias Torres
 
Java y Bases de Datos
Ronny Parra
 
Bases de Datos en en www.fiec.espol.edu.ec
Silvana Vargas
 
JAVA CON BASE DE DATOS
DIANA TAPIA VERA
 
Bbdd en java
SttOrm sindef
 
Diapositivas de jdbc
MISAEL DIAZ VILCHEZ
 
Java DataBase Connectivity
Thalia Regalado Juape
 
Presentation Introduction to Databases and its Organization
OscarAlejandro83
 
Java con base de datos
jhersi saavedra garcia
 
JDBC MONOGRAFIA
Sefira111
 
Tipos de bases de datos por Juan del Ángel Oláez González
Ángel Oláez
 
Java y Base de Datos
Karin Rojas Gutiérrez
 
Trabajo desarrollo de soft.
Gerson Alarcon Regalado
 
Almacenamiento en bases de datos ejercicio maestria
Meymorsal
 
Java con base de datos
Sonia Ramos Fernandez
 
Publicidad

Último (20)

PPTX
La modulación por ancho o de pulso (en inglés pulse width modulation PWM) es ...
mremache
 
PDF
SGBD - Clasificacion SGBD - Clasificacion
marcia2050r
 
DOC
Check list de Herramientas.doc FORMATOS SSOMA
huamancayobautistana
 
DOCX
Resumen de la reunión para REUNIÓN DE INVESTIGACIÓN.docx
cdiazmariaaleja
 
PPTX
PPT-POSCOSECHA DE CACAO (1) - Cheni.pptx
VernicaQL
 
PPT
SEMANA 13 - DETERMINACION DEL MERIDIANO.ppt
niraw22638
 
PPTX
Los rectificadores no controlados están formados exclusivamente por diodos, n...
mremache
 
PPTX
Presentacion_Transportejoseerereerr.pptx
ssuser0fc14d1
 
PPTX
Aplicacion de Alimentos Funcionales.pptx
EmanuelEverardoCarca
 
PDF
SEMANA2_GESTIONDEPROYECTOSDEINVERSIONPUBLCIA
Guillermoop
 
PDF
Nuevas Lecturas del curso de Base de datos.pdf
GIANCARLOAPAZAMAMANI
 
PPTX
Ing_ Alfonso Peña - Pavimentos básicos en el Perú.pptx
ERICKASELENEGARCIAEC1
 
PDF
antropometria ergonomica saludable para los trabajos .pdf
AlberthMozombite
 
PPTX
compresoresdetornillo-220105210310 23 junio.pptx
noxilu0988
 
PPTX
3 Respuesta_Emergencias-Para Areas Especificas.pptx
francopomacosi1
 
PPTX
REPORTE RESTRICCIONES FINAL DE ENTREGA DE TV
JimmyPalacios15
 
PPTX
ESTRUCTURAS HIDRAULICAS TOPOCORO SANTANDER
JulinFlrez1
 
DOCX
Cuadro_Sinoptico_Pedagogia_Ciencia_Epistemologia.docx
jossuealanhernndezga
 
PPTX
Auditoria, fiscalización e inspecciones de seguridad
ErickRodolfoWilfredo
 
PPTX
Taller Kanban Cristal como parte de metodologías agiles
AldoGerardoParralesL1
 
La modulación por ancho o de pulso (en inglés pulse width modulation PWM) es ...
mremache
 
SGBD - Clasificacion SGBD - Clasificacion
marcia2050r
 
Check list de Herramientas.doc FORMATOS SSOMA
huamancayobautistana
 
Resumen de la reunión para REUNIÓN DE INVESTIGACIÓN.docx
cdiazmariaaleja
 
PPT-POSCOSECHA DE CACAO (1) - Cheni.pptx
VernicaQL
 
SEMANA 13 - DETERMINACION DEL MERIDIANO.ppt
niraw22638
 
Los rectificadores no controlados están formados exclusivamente por diodos, n...
mremache
 
Presentacion_Transportejoseerereerr.pptx
ssuser0fc14d1
 
Aplicacion de Alimentos Funcionales.pptx
EmanuelEverardoCarca
 
SEMANA2_GESTIONDEPROYECTOSDEINVERSIONPUBLCIA
Guillermoop
 
Nuevas Lecturas del curso de Base de datos.pdf
GIANCARLOAPAZAMAMANI
 
Ing_ Alfonso Peña - Pavimentos básicos en el Perú.pptx
ERICKASELENEGARCIAEC1
 
antropometria ergonomica saludable para los trabajos .pdf
AlberthMozombite
 
compresoresdetornillo-220105210310 23 junio.pptx
noxilu0988
 
3 Respuesta_Emergencias-Para Areas Especificas.pptx
francopomacosi1
 
REPORTE RESTRICCIONES FINAL DE ENTREGA DE TV
JimmyPalacios15
 
ESTRUCTURAS HIDRAULICAS TOPOCORO SANTANDER
JulinFlrez1
 
Cuadro_Sinoptico_Pedagogia_Ciencia_Epistemologia.docx
jossuealanhernndezga
 
Auditoria, fiscalización e inspecciones de seguridad
ErickRodolfoWilfredo
 
Taller Kanban Cristal como parte de metodologías agiles
AldoGerardoParralesL1
 
Publicidad

Conexión desde una aplicación en java a un bd en mysql

  • 1. “AÑO DE LA CONSOLIDACIÓNDEL MAR DE GRAU” ASIGNATURA: Tecnología de la Programación II TEMA: Conexión desde una aplicación en Java a una BD en MySQL. DOCENTE: Vidal melgarejo, Zoraida Yanet ESCUELA ACADEMICA PROFESIONAL: Ingeniería de Sistemas INTEGRANTES:  Caldas Domínguez, Roque.  Fernando Vargas, Luis.  Medina Febre, Héctor.  Barraza Canchán, Ingelshin.  Pauca Castillo, Elvis. CICLO: V TRUJILLO – PERU 2016
  • 2. CONTENIDO I. INTRODUCCIÓN.........................................................................................................1 II. BASE DE DATOS RELACIONALES................................................................................1 III. SQL (STRUCTURED QUERY LANGUAGE).......................................................................3 A. Recuperar Datos........................................................................................................3 B. Almacenar Información .............................................................................................4 C. Eliminar Información.................................................................................................4 D. Modificar Información...............................................................................................4 IV. JAVA DATABASE CONECTIVITY(JDBC)....................................................................5 V. INSTALACIÓN DE MYSQL CONNECTOR/J.........................................................................7 VI. PASOS PARA UTILIZAR JDBC EN APLICACIONES JAVA ...................................................7 A. CARGAR EL DRIVER JDBC............................................................................................8 B. OBTENER LA CONEXIÓN.............................................................................................9 C. CREAR EL COMANDO SQL. .......................................................................................10 D. EJECUTAR EL COMANDO SQL...................................................................................10 E. PROCESAR LOS RESULTADOS....................................................................................11 F. LIBERAR LOS RECURSOS...........................................................................................11
  • 3. UNIVERSIDADNACIONALDETRUJILLO pág. 1 I. INTRODUCCIÓN Una base de datos es una colección organizada de datos. Existen diversas estrategias para organizar datos y facilitar el acceso y la manipulación. Un sistema de administración de bases de datos (DBMS) proporciona los mecanismos para almacenar, organizar, obtener y modificar datos para muchos usuarios. Los sistemas de administración de bases de datos permiten el acceso y almacenamiento de datos sin necesidad de preocuparse por su representación interna. En la actualidad, los sistemas de bases de datos más populares son las bases de datos relacionales, en donde los datos se almacenan sin considerar su estructura física. La mayoría de los sistemas de administración de bases de datos populares incluyen ahora controladores de JDBC. También hay muchos controladores de JDBC de terceros disponibles. En este capítulo presentaremos la tecnología JDBC y la emplearemos para manipular bases de datos de MySQL y Java DB. Las técnicas que demostraremos aquí también pueden usarse para manipular otras bases de datos que tengan controladores de JDBC. Consulte la documentación de su DBMS para determinar si incluye un controlador de JDBC. Incluso si su DBMS no viene con un controlador de JDBC, muchos distribuidores independientes proporcionan estos controladores para una amplia variedad de sistemas DBMS. II. BASE DE DATOS RELACIONALES Una base de datos relacional es una representación lógica de datos que permite acceder a éstos sin necesidad de considerar su estructura física. Una base de datos relacional almacena los datos en tablas. En la figura1 se muestra una tabla de ejemplo que podría utilizarse en un sistema de personal. El nombre de la tabla es Empleado, y su principal propósito es almacenar los atributos de un empleado. Las tablas están compuestas de filas, y las filas, de columnas en las que se almacenan los valores. Esta tabla consiste de seis filas. La columna Numero de cada fila en esta tabla es su clave primaria: una columna (o grupo de columnas) en una tabla que tiene un valor único, el cual no puede duplicarse en las demás filas. Esto garantiza que cada fila pueda identificarse por su clave primaria. Algunos buenos ejemplos de columnas con clave primaria son un número de seguro social, un número de identificación de empleado y un número de pieza en un sistema de inventario, ya que se garantiza que los valores en cada una de
  • 4. UNIVERSIDADNACIONALDETRUJILLO pág. 2 esas columnas serán únicos. Las filas de la figura1 se muestran en orden, con base en la clave primaria. En este caso, las filas se muestran en orden ascendente; también podríamos utilizar el orden descendente. Figura 1 | Datos de ejemplo de la tabla Empleado. No se garantiza que las filas en las tablas se almacenen en un orden específico. Como lo demostraremos en un ejemplo más adelante, los programas pueden especificar criterios de ordenamiento al solicitar datos de una base de datos. Cada columna de la tabla representa un atributo de datos distinto. Las filas generalmente son únicas (por clave primaria)dentro de una tabla, pero los valores de columnas específicas pueden duplicarse entre filas. Por ejemplo, tres filas distintas en la columna Departamento de la tabla Empleado contienen el número 413. A menudo los distintos usuarios de una base de datos se interesan en datos diferentes, y en relaciones distintas entre esos datos. La mayoría de los usuarios requieren solamente de ciertos subconjuntos de las filas y columnas. Para obtener estos subconjuntos, utilizamos consultas para especificar cuáles datos se deben seleccionar de una tabla. Utilizamos SQL para definir consultas complejas que seleccionen datos de una tabla. Por ejemplo, podríamos seleccionar datos de la tabla Empleado para crear un resultado que muestre en dónde se ubican los departamentos, y presentar los datos ordenados en forma ascendente, por número de departamento. Este resultado se muestra en la figura2. Hablaremos sobre las consultas de SQL más adelante. Figura 2 | Resultado de seleccionar distintos datos de Departamento y Ubicación de la tabla Empleado.
  • 5. UNIVERSIDADNACIONALDETRUJILLO pág. 3 III. SQL (STRUCTURED QUERY LANGUAGE) Es un lenguaje declarativo de BASE DE DATOS RELACIONALES que permite especificar diversos tipos de operaciones en ella. Ejemplo: Tenemos un registro en una base de datos, en la base de datos existen tres tablas relacionadas: Profesor, Asignatura y Curso. Se sabe que un profesor puede tener varios cursos, pero un curso no puede tener varios profesores también que un profesor pertenece a un departamento, pero un departamento puede tener varios profesores miembros. El diagrama del presente ejemplo sería el siguiente: Figura 3 | diagrama de base de datos A. Recuperar Datos La recuperación de los datos contenidos en las tablas lo realizamos a través de la consulta SELECT que extrae información de la DB. Tomando el ejemplo anterior realizaremos una consulta: Figura 4 | recuperación de datos de la tabla Profesor
  • 6. UNIVERSIDADNACIONALDETRUJILLO pág. 4 B. Almacenar Información El almacenamiento o la inserción de datos lo realizamos a través de la consulta INSERT, la cual insertará datos a la tabla. Tomando el ejemplo anterior realizaremos una consulta: Figura 5 | almacenar información en la tabla Departamento C. Eliminar Información Cuando queremos eliminar información de una tabla o varias tablas relacionadas utilizamos la sentencia DELETE la cual eliminará la información si se cumple con los requerimientos que necesite para ser eliminada, esta información no se podrá recuperar es por ello que es poco frecuente que se eliminen datos, lo más probable es que solo se actualicen. Tomando el ejemplo anterior realizaremos una consulta: Figura 6 | eliminar registros de la tabla Curso D. Modificar Información Comúnmente existe información que necesita ser actualizada en ciertos periodos o en ciertas operaciones es en donde utilizamos la instrucción de SQL llamada UODATE que combinada con SET y WHERE modifican y/o actualizan de manera correcta la información de una tabla o varias tablas relacionadas entre sí. Tomando el ejemplo anterior realizaremos una consulta: Figura 7 | modificar información de la tabla Profesor
  • 7. UNIVERSIDADNACIONALDETRUJILLO pág. 5 IV. JAVA DATABASE CONECTIVITY(JDBC) JDBC es Acrónimo de Java DataBase Conectivity es una API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java, independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede, utilizando el dialecto SQL del modelo de base de datos que se utilice. Java Database Connectivity (JDBC) es una interface de acceso a bases de datos estándar SQL que proporciona un acceso uniforme a una gran variedad de bases de datos relacionales. JDBC también proporciona una base común para la construcción de herramientas y utilidades de alto nivel. El paquete actual de JDK incluye JDBC y el puente JDBC-ODBC. Estos paquetes son para su uso con JDK 1.0 Drivers JDBC Para usar JDBC con un sistema gestor de base de datos en particular, es necesario disponer del driver JDBC apropiado que haga de intermediario entre ésta y JDBC. Dependiendo de varios factores, este driver puede estar escrito en Java puro, o ser una mezcla de Java y métodos nativos JNI (Java Native Interface). Usando JDBC es fácil enviar sentencias SQL virtualmente a cualquier sistema de base de datos. En otras palabras, con el API JDBC, no es necesario escribir un programa que acceda a una base de datos Sybase, otro para acceder a Oracle y otro para acceder a Informix. Un único programa escrito usando el API JDBC y el programa será capaz de enviar sentencias SQL a la base de datos apropiada. Y, con una aplicación escrita en el lenguaje de programación Java, tampoco es necesario escribir diferentes aplicaciones para ejecutar en diferentes plataformas. La combinación de Java y JDBC permite al programador escribir una sola vez y ejecutarlo en cualquier entorno. Java, siendo robusto, seguro, fácil de usar, fácil de entender, y descargable automáticamente desde la red, es un lenguaje base excelente para aplicaciones de base de datos. 4 JDBC expande las posibilidades de Java. Por ejemplo, con Java y JDBC API, es posible publicar una página web que contenga un applet que usa información obtenida de una base de datos remota. O una empresa puede usar JDBC para conectar a todos sus empleados (incluso si usan un conglomerado de máquinas Windows, Macintosh y UNIX) a una base de datos interna vía intranet. Con cada vez más y más programadores desarrollando en lenguaje Java, la necesidad de acceso fácil a base de datos desde Java continúa creciendo.
  • 8. UNIVERSIDADNACIONALDETRUJILLO pág. 6 Simplemente JDBC hace posible estas tres cosas: • Establece una conexión con la base de datos. • Envía sentencias SQL. • Procesa los resultados. El siguiente fragmento de código nos muestra un ejemplo básico de estas tres cosas: JDBC API Como se mencionó anteriormente JDBC es una API (Aplication Programming Interface) que encontramos en el paquete de java: java.sql, el cual contiene algunos objetos y métodos como: DriverManager, Connection, ResultSet, DatabaseMetaData, ResultSetMetaData, PreparedStatement, CallableStatement, etc. El API JDBC se presenta como una colección de interfaces Java y métodos de gestión de manejadores de conexión hacia cada modelo específico de base de datos. Un manejador de conexiones hacia un modelo de base de datos en particular es un conjunto de clases que implementan las interfaces Java y que utilizan los métodos de registro para declarar los tipos de localizadores a base de datos (URL) que pueden manejar. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la biblioteca de conexión apropiada al modelo de su base de datos, y accede a ella estableciendo una conexión; para ello provee el localizador a la base de datos y los parámetros de conexión específicos. A partir de allí puede realizar cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta, actualización, creación, modificación y borrado de tablas, ejecución de procedimientos almacenados en la base de datos, etc. Connection con = DriverManager.getConnection ( "jdbc:odbc:wombat", "login", "password"); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { int x = rs.getInt("a"); String s = rs.getString("b"); float f = rs.getFloat("c"); }
  • 9. UNIVERSIDADNACIONALDETRUJILLO pág. 7 V. INSTALACIÓN DE MYSQL CONNECTOR/J Para usar MySQL con JDBC, también necesita instalar MySQL Connector/J (la J representa a Java): un controlador de JDBC que permite a los programas usar JDBC para interactuar con MySQL. Para instalar MySql Connector/j 1. Descargar el archivo MySql Connector/J de dev.mysql.com /downloads /connector/j/ 2. Extraer su contenido y copiar el archivo mysql-connector-java-5.1.3.38- bin.jar en el la carpata donde se encuentra tu proyecto de java. OBSERVACIÓN: La mayoría de los distribuidores de base de datos proporcionan sus propios controladores de base de datos JDBC, y muchas distribuidoras independientes proporcionan también controladores JDBC. VI. PASOS PARA UTILIZAR JDBC EN APLICACIONES JAVA Figura 8 | pasos para utilizar el JDBC en una aplicación java
  • 10. UNIVERSIDADNACIONALDETRUJILLO pág. 8 A. CARGAR EL DRIVER JDBC Para usar JDBC con un sistema gestor de base de datos en particular, es necesario disponer del driver JDBC apropiado que haga de intermediario entre ésta y JDBC. Dependiendo de varios factores, este driver puede estar escrito en Java puro, o ser una mezcla de Java y métodos nativos JNI (Java Native Interface). Para conectarnos a una base de datos a través de JDBC desde una aplicación java, lo primero que necesitamos es cargar el driver. Figura 9 | sintaxis para cargarel driver En nuestro ejemplo utilizaremos el driver nativo de MySQLConector/J para acceder a MySQL. Por lo tanto para cargar el driver tendríamos que escribir en nuestro código Java: Figura 10 | cargarel driver de MYSQL Se utiliza el método static forName de la clase Class para cargar la clase para el controlador de base de datos. Esta líne lanza una excepción del tipo java.lang.ClassNotFoundException si el cargador de clases no puede localizar la clase del del controlador. Para evitar esta excepción, necesitamos incluir el archivo mysql-connector-java-5.1.3.38-bin.jar en la ruta de clases del programa a la hora de ejecutarlo. Llamado a Class.forName la aplicación java carga el driver JDBC y entonces ya nos podemos conectar con la base de datos invocando al método DriverManeger.getConnection.
  • 11. UNIVERSIDADNACIONALDETRUJILLO pág. 9 B. OBTENER LA CONEXIÓN Para conectarnos a la basa de datos una vez cargado el driver, utilizaremos el método getConnection que a su vez define una URL que indicará la ubicación de la base de datos: Figura 11 | sintaxispara obtenerla conexión a base dedatos Para obtener la conexión con la base de datos de MySQL: Figura 12 | obtenerconexión a una basede datosen MYSQL Se crea un objeto Connection(paquete java.sql), el cual es referenciado mediante una conexión. Un objeto que implemente la interfaz Connection administra la conexión entre el programa java y la base de datos. Los objetos Connection permiten a los programas crear instrucciones de SQL para manipular base de datos. El programa inicializa a conexión con el resultado de una llamada al método static getConnection de la clase DriverManager(paquete java.sql), el cual trata de conectar a la base de datos especificado mediante su URL. El método getConnection recibe tres argumentos: un objeto String que especifica la URL de la base de datos, un objeto String que especifica el nombre de usuraio y un objeto String que especifica la contraseña. El URL jdbc:mysql://localhost/escuela especifica el protocolo para la comunicación (jdbc), el subprotocolo para la comunicación(mysql) y la ubicación de la base de datos (//localhost/escuela, en donde localhost es el host que ejecuta el servidor MySQL y escuela es el nombre de la base de datos). El subprotocolo mysql indica que el programa utiliza un subprotocolo específico de MySQL para
  • 12. UNIVERSIDADNACIONALDETRUJILLO pág. 10 conectarse a la base de datos MySQL. Si el objeto DriverManager no se puede conectar a la base de datos, el método getConnection lanza una excepción SQLException (paquete java.sql). C. CREAR EL COMANDO SQL. Ya que hemos establecido una conexión con la base de datos usando el método getConnection de DriverManager ahora podemos crear sentencias SQL utilizando la interface Statemente que provee métodos para realizar esas tarea. Entonces tenemos que escribir en nuestro código java: Figura 13 | crear comando SQL. Se invoca el método createStatement de Connection para obtener un objeto que implemente a la interfaz Statemente(paquete java.sql). El programa utiliza al objeto Statemente para enviar instrucciones se SQL a la base de datos. Ahora para que podemos utilizar las sentencias UPDATE, INSERT, DELETE, SELECT tenemos que utilizar los métodos: D. EJECUTAR EL COMANDO SQL Figura 13 | métodospara ejecutarel comando SQL. Ahora para que podemos utilizar las sentencias UPDATE, INSERT, DELETE, SELECT tenemos que utilizar los métodos: Figura 14 | ejecutarcomando SQL Se utiliza el método executeQuery del objeto Statement para enviar una consulta que seleccione toda la información sobre los autores en la tabla
  • 13. UNIVERSIDADNACIONALDETRUJILLO pág. 11 autores. Este método devuelve un objeto que implementa la interfaz ResultSet, y contiene el resultado de esta consulta. E. PROCESAR LOS RESULTADOS Figura 15 | procesarlos resultados F. LIBERAR LOS RECURSOS Figura 15 | liberar los recursos