ARTE I BASE DE DATOS EN JAVA

Documentos relacionados
Practica 11: Conexión de Java con Bases de datos Access

Acceso a BD desde Java. JDBC

Programación Delphi con Bases de datos

Federico Peinado

Base de Datos JDBC. Unidad: 1 Laboratorio de Programación. Universidad Nacional de la Patagonia Austral Unidad Académica Río Gallegos

Acceso a bases de datos desde Java: JDBC

Tutorial de incorporación del driver JDBC a Eclipse. Programación en Internet

Bases de Datos Introducción a la Conectividad de

Acceso a BDs en Java: JDBC

Manual de configuración de wifilocal Windows XP Antena externa Ubiquiti Nanostation 2 9 de Septiembre de 2010

Objetivos y Temario CURSO MySQL 5

Programación Orientada a Objetos Analista Programador Universitario Plan 2008 Año 2010

Desarrollo de aplicaciones de acceso a base de datos con JBuilder 7

MANUAL DEL USUARIO. Página Web.

JDBC: Java DataBase Conectivity

Posteriormente se abrirá una ventana con varias pestañas que nos darán algunas características de nuestra maquina de nuestro pc

GUIA PARA TRABAJAR CON TABLAS(INFORMES)

Universidad Don Bosco. Materia: Programación Orientada a Objetos Contenido: Modificadores de Acceso y JDBC

DEMOSTRACION DE UNA APLICACIÓN N-CAPASCON JAVA- POSTGRESQL

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

Configuración de conexión RTB mediante módem. Introducción Explicación Paso 1 Paso 2 Paso 3 Paso 4 Paso 5 Paso 6 Paso 7 Paso 8 Paso 9 Paso 10

SOLUCIÓN A PROBLEMAS DE VISUALIZACIÓN DE FICHEROS SWF (Flash)

PERIODO 3 SOFTWARE MANEJADOR DE BASE DE DATOS CONCEPTOS INTERMEDIOS DE MICROSOFT ACCESS

10. JDBC. 10. JDBC Introducción. java.sql

Introducción a JDBC - Base de datos con Java

CREAR TABLAS EN BASES DE DATOS CON phpmyadmin. TIPOS DE DATOS BÁSICOS (VARCHAR, INT, FLOAT). INSERTAR FILAS. (CU00840B)

JDBC: EL PUENTE ENTRE JAVA Y LAS BASES DE DATOS. En este articulo se expone la API JDBC (Java DataBase Connetivity), la cual permite el

Para entornos con más de un equipo conectados en red es necesario que el programa de firewall conceda paso a los servicios de Microsoft SQL Server.

CÓMO BLOQUEAR LOS SITIOS WEB EN INTERNET EXPLORER

Variantes en Documentos de Venta WhitePaper Febrero de 2007

JDBC Julio Introducción JDBC Arquitecturas típicas con JDBC... 3

Java con Bases de Datos

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

Calc I Primeros pasos: Entorno de trabajo, celdas y. rangos

... Bases de datos con Excel CAPÍTULO Creación de una Base de Datos

MANUAL DE PROGRAMACIÓN PARA BASES DE DATOS 1.0 MySQL

Cómo exportar e importar desde el phpmyadmin

Tema: Introducción al IDE de Microsoft Visual C#.

Manejo de Bases de Datos Mysql en Lenguaje C

Notas técnicas de JAVA - Tip en detalle Nro. 2

Java y MySQL. Ciclo de ejecución

Elementos esenciales de Word

WorldShip Exportación de datos de envío

MySQL 5 (versiones 5.1 a 5.6) Guía de referencia del desarrollador

TECNOLOGÍA E INFORMÁTICA

DIPLOMADO EN LINEA FORMATO Y OPERACIONES EN EXCEL

Desarrollo de Software con

Guía práctica de introducción básica a JDBC

Capa de Gestión de Datos. Persistencia Bases de Datos - JDBC

Hipervínculos y configuración de acciones

JDBC. Curso 04/05. Tema 8 JDBC. Departament d Informàtica. Universitat de València. 1. Introducción Arquitecturas típicas...

MySQL con Java en MS Windows

Se abre una ventana que permite especificar el número de filas y columnas para la tabla.

INSTALACION DE MySQL

GESTORES GESTORES DE BASES DE DATOS

UNIDAD 6 TEMA 4: OFIMÁTICA AVANZADA. CLASE 04: PLANTILLAS

%& %)& '$!%*+ $, %%%&$ %%

Manual de Instalación y Administración de Base

Teléfono:

1. Introducción Hoja de cálculos Iniciar Excel 2013

HACER COPIAS DE SEGURIDAD EN WINDOWS

Taller de TeamViewer. Manual De TeamViewer

Guía de actualización PSJailbreak

Prácticas de Introducción a los Computadores Curso Hoja Gráficos: Hoja Regresión: ESPESOR 0,5 1 1,5 2 2,5 3 3,5 4 4,5 5 ESPESOR COSTES fij

COMO CREAR UNA RED LOCAL ENTRE EQUIPOS CON WINDOWS

Crear imagen con Windows XP, SP2 y actualizaciones críticas con NLite

Tutorial 3. Conexión a Bases de Datos con NetBeans 5.0

MySQL por línea de comandos

Práctica 6: Consultas

Creación y manejo de la base de datos y tablas

Ciclo Formativo de Grado Superior de Administración de Sistemas Informáticos en red

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA UNIVERSIDAD DE SEVILLA COMPUTADORAS Y COMUNICACIONES. Redes informáticas de área local (LAN)

Clase 1 Excel

Manual de uso de la herramienta de videoconferencia Openmeetings en la Universidad de Zaragoza

Equipamiento ADSL» Inalámbrico. Adaptador USB PAUTAS PARA LA VERIFICACION TCP/IP

COMBINAR CORRESPONDENCIA

MANUAL DE INSTALACIÓN SIGGA LABORAL VERSION EVALUATIVA

ACCESS: PRÓLOGO ACCESS EJERCICIO PRÓLOGO ESTRUCTURA DE UNA BASE DE DATOS: TABLAS, CONSUL- TAS, FORMULARIOS E INFORMES

Hostalia Guía de uso. Guía rápida de usuario. Multiplán. Cardenal Gardoki, BILBAO (Vizcaya) Teléfono:

Sesión No. 10. Contextualización INFORMÁTICA 1. Nombre: Gestor de Base de Datos (Access)

UNIDAD 4. MODIFICAR TABLAS DE DATOS

JDBC. Francisco Javier Solans Benedí Software Developper

Configuración de la base de datos MySQL en InduSoft Web Studio. Introducción

QUÉ ES UNA CLASE JAVA? ATRIBUTOS (PROPIEDADES O CAMPOS), CONSTRUCTOR Y MÉTODOS. (CU00623B)

Introducción Mic i ro r s o of o t t W or o d r

INTRANET: MANUAL DE INSTALACIÓN

Registro Electrónico Común (REC) Guía de usuario Presentación de una solicitud con certificado. Versión 1.0

Redes locales 6. Conrado Perea

JDBC. Aplicaciones Distribuidas

Microsoft Office Word

Rawel E. Luciano B Sistema Operativo III. 4- Compartir datos en una red Linux usando NFS. José Doñe

ALMACENAMIENTO Y RECUPERACIÓN DE UN LIBRO

EJEMPLO 1. CUADROS DE TEXTO

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS

Práctica 3: Presentaciones con OpenOffice I

Transcripción:

RACTICA N 18 PARTEP PRACTICA ARTE I BASE DE DATOS EN JAVA I OBJETIVOS Aprender a pasar del Modelo a la Implementación Lograr que el alumno configure una base de datos en JAVA. Comprender el funcionamiento para una conexión a base de datos Lograr que el alumno realice una consulta simple SQL a una base de datos. II Marco General Uno de los primeros Modelos obtenidos durante el desarrollo de software es el Modelo del Dominio. En el se plasma aquellos elementos estructurales que son relevantes para el cliente (aquello sobre lo que nos interesa grabar información). Este primer Modelo, por lo general se convierte en nuestra BASE DE DATOS. Cada CLASE, con sus respectivos atributos del Modelo del Dominio, tiene una contraparte en la implementación de la base de datos. Cada clase, recibe el nombre de TABLA. Una vez que hemos creado la TABLA, es posible asignarle datos. Cada conjunto de datos recibe el nombre de REGISTRO. Un registro de la Tabla es equivalente a decir una INSTANCIA u OBJETO de la CLASE. Para una mayor comprensión ver Demo1BaseDatos. JDBC y ODBC La capacidad para acceder a bases de datos desde Java la ofrece la API JDBC (Java DataBase Conectivity). JDBC es un estándar para manejar bases de datos en Java. ODBC es un estándar de Windows para manejar bases de datos, de forma que cualquier programa en Windows que desee acceder a bases de datos genéricas debe usar este estándar. La necesidad de crear un estándar propio para acceder a bases de datos desde Java se explica porque el estándar ODBC está programado en C y un programa que use este estándar, por lo tanto, depende de la plataforma. Controladores JDBC-ODBC Necesitamos acceder a un origen de datos ODBC pero contamos con una API que usa el estándar JDBC. Para solventar este problema las empresas realizan drivers que traducen el ODBC a JDBC. Hay varios tipos de Driver, pero para nuestro ejemplo usaremos los llamados puentes JDBC-ODBC. El JDK de Windows incorpora el driver necesario para conectar bases de datos Access. Crear un nuevo DSN (Data Source Name) Para realizar la conexión a una base de datos ODBC necesitaremos crear un perfil DSN desde el panel de control y posteriormente accederemos a la base de datos a partir del nombre del perfil. En el Elizabeth Vidal Duarte 1

perfil DSN lo que se hace es indicar el driver a utilizar, así como el archivo o archivos del origen de datos. Estos son los pasos a llevar a cabo para configurar un perfil DSN. 1.- Iremos a Panel de Control. 2.- Ahora hacemos doble-click en el icono de Fuentes de datos ODBC. 3.- En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil haremos click en Add... 4.- A continuación se nos pide que ingresemos el controlador que vamos a usar en el nuevo perfil. En nuestro caso será Microsoft Access Driver (*.mdb). 5.- Una vez aquí sólo nos queda dar un nombre al origen de datos y especificar el archivo.mdb de origen. Tras aceptar la ventana ya tenemos creado un perfil con lo que ya podemos comenzar a programar. Clases, objetos y métodos básicos Lo que necesitamos para hacer nuestro programa es la API JDBC incluida en la última versión del JDK. El paquete a utilizar y el cual deberemos importar es el paquete java.sql Las primeras líneas de código suelen ser rutinarias ya que siempre serán muy similares. Cargar el Driver Lo primero es hacer una llamada al Driver JDBC-ODBC para cargarlo. Eso se consigue con las siguientes líneas de código: try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); } catch(exception e){ System.out.println("No se ha podido cargar el Driver JDBC-ODBC"); } Con esto ya tenemos cargado el Driver. Ahora básicamente trabajaremos con tres objetos. Estos objetos son: Connection, Statement y ResultSet. El objeto Connection se obtiene al realizar la conexión a la base de datos. El objeto Statement se crea a partir del anterior y nos permite ejecutar SQL para hacer consultas o modificaciones en la base de datos. En caso de hacer una consulta (SELECT... FROM...) se nos devolverá un objeto que representa los datos que deseamos consultar; este objeto es un objeto ResultSet (Hoja de resultados). El objeto Connection Debemos realizar la conexión a nuestro origen de datos. Para ello debemos crear un objeto Connection de la siguiente forma: Connection con = DriverManager.getConnection("jdbc:odbc:Nombre_Perfil_DSN", "Nombre_Usuario", "Contraseña"); Elizabeth Vidal Duarte 2

Los dos últimos parámetros pueden ser cadenas vacías "" a no ser que la base de datos las requiera. Con esto ya hemos realizado una conexión a nuestra base de datos. Pero esto todavía no es suficiente. Ahora vamos a crear un objeto Statement con el que podremos ejecutar y hacer consultas SQL. Si hasta ahora todo ha sido rutinario a partir de ahora vamos a poder crear código más adaptado a las necesidades de nuestro programa. El objeto Statement Como se ha dicho, un objeto Statement se crea a partir del objeto Connection antes obtenido. También como se ha dicho un objeto Statement nos permite hacer consultas SQL que nos devuelven una hoja de resultados. Pues bien, según como deseamos que sea esa hoja de resultados (modificable, o no, sensible a las modificaciones o no,...) deberemos crear de una forma u otra el objeto Statement. Más adelante se explican las diferencias entre crearlos de una u otra forma. De momento nos limitaremos ha hacerlo de la forma más sencilla. Statement stat = con.createstatement(); De esta forma muy simple hemos creado un objeto Statement. Ahora podemos usar este objeto Statement para hacer modificaciones en la base de datos a través del lenguaje SQL. Para realizar modificaciones, es decir, instrucciones INSERT, UPDATE o DELETE, se usa el método executeupdate pasando como parámetro una cadena de texto String que contenga la instrucción SQL. Para hacer una consulta, es decir, una instrucción SELECT debemos usar otro método: el método executequery que como el anterior se le ha de pasar un String que contenga la instrucción. Este método nos devuelve un objeto ResultSet que contiene los datos obtenidos. Este objeto será diferente según como hayamos creado el objeto Statement. En el ejemplo anterior hemos usado un método muy simple de Connection para crear el objeto Statement, pero hay otras formas de crearlo. Estas son y estas son las características que aportan a la hoja de resultados de una consulta: El método anteriormente utilizado es el siguiente: createstatement(), pero existe el mismo método al que le podemos pasar dos parámetros. En la documentación se expresa así: createstatement(int resultsettype, int resultsetconcurrency). Los posibles valores a pasar son campos de la clase ResultSet. Por ejemplo para el parámetro resultsettype podemos elegir que el objeto ResultSet se pueda mover (entre registros) sólo hacia delante (ResultSet.TYPE_FORWARD_ONLY), que se pueda mover pero que cuando se actualice, aunque los cambios ya hayan sido reflejados en la base de datos, el ResultSet no los 'sienta' (ResultSet.TYPE_SCROLL_INSENSITIVE) o que se pueda mover y que los cambios si que se reflejen también en él (ResultSet.TYPE_SCROLL_SENSITIVE). Para el parámetro resultsetconcurrency podemos establecer dos valores diferentes: ResultSet.CONCUR_READ_ONLY si queremos que los datos se puedan leer pero no actualizar, y ResultSet.CONCUR_UPDATABLE si queremos permitir que la base de datos sea actualizable mediante el objeto ResultSet. Si no se usa el método sin parámetros el objeto será TYPE_FORWARD_ONLY y CONCUR_READ_ONLY. El objeto ResultSet: Hoja de resultados Moverse por la hoja de resultados Al hablar de posición del cursor nos referimos a la posición dentro de los datos del objeto ResultSet. Lo primero que hay que saber es que el cursor tiene tantas posiciones como filas tenga la consulta y dos más que se sitúan antes de la primera fila y después de la última. Nada más crear un objeto ResultSet, la posición del cursor es la anterior a la primera fila. Para mover el cursor a la posición siguiente usaremos el método next() que nos devuelve una variable booleana: sí, si se ha podido mover; no, si no ha sido posible el desplazamiento. Nos devolverá false Elizabeth Vidal Duarte 3

si estamos en el útimo registro (el posterior al último). Para movernos hacia atrás tenemos un método muy similar: el método previous() que al igual que el anterior nos devuelve un valor booleano que será false si estamos en el registro anterior al primero. Estos métodos nos permiten movernos de forma relativa por la hoja de resultados; si deseamos movernos a un registro determinado usaremos el método absolute(int numero_fila), que también nos devuelve un valor boolean. Además tenemos otros métodos que son: afterlast(), que mueve el cursor a la fila posterior a la última; beforefirst() que mueve el cursor a la fila anterior a la primera; last() que mueve el cursor a la última fila; first() que mueve el cursor a la primera fila. Todos ellos devuelven un valor booleano. Obtener datos de la hoja de resultados Para acceder a los datos de la hoja de resultados usamos los métodos get...(int numerocolumna) o get...(string nombrecolumna). Estos métodos nos devuelven el valor que indica el nombre del método (por ejemplo tenemos: getstring, getint, getdate,...) indicando el número o el nombre de la columna. Hay que tener en cuenta que el número de columna es el número de columna en la hoja de resultados y por tanto se establece con el orden en el que se han incluido las columnas en la instrucción SELECT. Por ejemplo si hemos hecho la consulta de la siguiente forma: SELECT Nombre, Apellidos... la columna Nombre será la primera y la columna Apellidos será la segunda independientemente de cómo estén situadas en la base de datos. Si hacemos un SELECT * FROM..., en ese caso las columnas estarán en el orden en el que están en la base de datos ACTIVIDADES 1. Analice la estructura de la base de datos technical_library.mdb en Access 2. En el Panel de Control configure el Driver para que Java pueda reconocer la Base de Datos. a) Seleccione en el Panel de Control : Herramientas Administrativas -> Data Source (ODBC). Usted obtendrá la siguiente ventana. III Elizabeth Vidal Duarte 4

b) En esta ventana seleccione la pestaña System DSN. c) Añada el Driver para Acces : Microsoft Acces Driver (*.mdb) y continué con la siguiente ventana. d) En la opcion Data Source Name, deberá proporcionar el nombre de su base de datos. e) En la seccion de Database, deberá indicar la ruta en donde se encuentra la base de datos. Elizabeth Vidal Duarte 5

3. Cree un proyecto llamado PruebasBaseDatos 4. Abra el archivo MakingTheConnection.java en Eclipse 5. Analice el código 6. Compile y Ejecute. 7. Abra l el archivo MakingAStatement.java 8. Analice el código 9. Compile y Ejecute. 10. Abra el archivo TestStatement.java, analice el código 11. Compile y Ejecute NOTA: Para una mejor compresión vea el archivo Demo2ConfiguracionBD Elizabeth Vidal Duarte 6