Acceso a BD desde Java. JDBC



Documentos relacionados
Desarrollo de Software con

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

JDBC. Francisco Javier Solans Benedí Software Developper

Bases de Datos Introducción a la Conectividad de

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

Introducción a JDBC - Base de datos con Java

JDBC: Java DataBase Conectivity

Acceso a BDs en Java: JDBC

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

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

Java y MySQL. Ciclo de ejecución

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

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

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS

Federico Peinado

Arquitectura J2EE para aplicaciones web. Aplicaciones web con JSP. Arquitectura J2EE: Capa de Acceso Web. Arquitectura J2EE: Capa Cliente

Tópicos Avanzados de Programación (TAP3501)

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

JDBC. Una mini-introducci. introducción

JDBC. Aplicaciones Distribuidas

Bases de Datos usando Java : JDBC. Ing. César Julio Bustacara Medina

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

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

Acceso a bases de datos SQL - JDBC. CAPITULO IV POR Lic Adrian Quisbert Vilela

1. INTRODUCCION Qué es JDBC? Qué hace JDBC? JDBC es un API de bajo nivel y una base para API s de alto nivel

MySQL con Java en MS Windows

Programación Orientada a Objetos II. La Plataforma JDBC

Prácticas Ingeniería del Software 3º

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

MEDIA TÉCNICA DESARROLLO DE SOFTWARE GUIA DE APRENDIZAJE # No.0 Módulo Elementos de software 1

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

Práctica 2 ACCESO A BASES DE DATOS CON JDBC. 1. Creación de una base de datos en MySQL...1

Curso Básico de JDBC. Rodolfo Campos Madrid, Septiembre de 2012

Manual de NetBeans y XAMPP

Qué es JDBC? Cuatro tipos de drivers JDBC Uso de JDBC

Laboratorio de Programación III

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

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

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

Módulo 15. Introducción a JDBC, Java Database Connectivity. Programación Orientada a Objetos Página 16.0 de 25

Copyright. Para cualquier duda, consulta, insulto o tirón de orejas sobre este tutorial dirigirse a abraham@javahispano.org. El ABC de JDBC 1 de 36

Ingeniería del Software II. Curso 2003/2004. Enunciado de la práctica del Segundo parcial.

2.1 La interfaz de JDBC para el programador de aplicaciones La interfaz JDBC para los controladores JDBC... 5

JDBC. Cada celda de la tabla debe tener solamente un valor (nunca un conjunto de valores). (1NF)

Base de Datos Oracle: desarrollo de aplicaciones

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

8. JDBC: acceso a bases de datos

Java con Bases de Datos

PROGRAMACIÓN CON ACCESO A DATOS

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

Bases de datos y JDBC

UNIVERSIDAD DE MAGALLANES FACULTAD DE INGENIERIA DEPARTAMENTO DE COMPUTACIÓN DESARROLLO DE SOFTWARE PARA CONTROL DE INVENTARIO

APÉNDICE A: ACCESO A UNA BASE DE DATOS CON JDBC

Laboratorios de BASES DE DATOS. (I.T. Informática)

Tema V. JDBC. Desarrollo de Aplicaciones para Internet Curso 12 13

Base de datos relacional

CAPÍTULO I DEFINICIÓN DEL PROBLEMA Y OBJETIVOS

Técnicas de Programación

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

Acceso a bases de datos desde Java: JDBC

Solución Examen Junio 2007 (a) Ejercicio GeoTaxi (1h 20 min.) Diagrama de Casos de Uso y. Casos de uso (2,5 puntos) Modelo de Dominio (1,5 puntos)

Manual del Protocolo XML-RPC de Mensajería Negocios

Resumen. El rol del lenguaje SQL en los SGBDR y en la Relacional. cjimenez@inf.udec.cl, tamrstro@inf.udec.cl

Práctica Servlets & JDBC. Qué son? Qué necesitamos?

Java y MySQL. Ciclo de ejecución

Acceso a bases de datos desde Java: JDBC

Programación y Acceso a BD con SQL

JAVA 5. Conexión con Bases de Datos

Java y Access. 4. En nuestra pantalla aparecerá ahora la pestaña DSN usuario seleccionada. Para crear un nuevo perfil haremos click en Agregar...

INTRODUCCIÓN PRÁCTICA. Clase 25/08/2008

Servlets y JSP. Qué son CGI? 04/03/2014

CURSORES EN SQL SERVER

TEMA 1 ACCESO A BASE DE DATOS 1. QUE ES UN JDBC ODBC?

Capítulo VI. Conclusiones. En este capítulo abordaremos la comparación de las características principales y

Capitulo 5. Implementación del sistema MDM

ARTE I BASE DE DATOS EN JAVA

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Acceso a bases de datos MySQL con PHP

JDBC - Acceso a Bases de Datos

COMANDOS DE SQL, OPERADORES, CLAUSULAS Y CONSULTAS SIMPLES DE SELECCIÓN

1

Práctica sobre compartición de instancias remotas.

TEMA 20: CONCEPTOS BÁSICOS DE SQL

1. Bases de datos desde VB.Net 1.1 Introducción. Desde Vb Net 2005 se puede acceder a las siguientes bases de datos, utilizando las clases adecuadas.

Oracle 12c DISEÑO Y PROGRAMACIÓN

JAVA 8 Los fundamentos del lenguaje Java (con ejercicios prácticos corregidos)

myappgen Usted Construye la aplicación mientras la ejecuta

INTRODUCCION A LOS SGBD

TEMA 11 INDICE [PROGRAMACIÓN]

Acceso a bases de datos con JDBC

Bases de Datos 3º Informática de Sistemas

U.E JUAN DE VELASCO CREAR DATOS EN SQL

Iniciando con Oracle. Índice de contenido. Ingresando a Oracle. Cambiando Su Contraseña. Ingresando un Comando SQL en SQL*Plus

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

Ministerio de Educación Base de datos en la Enseñanza. Glosario

Nociones de performance

Dossier de prácticas

Diseño de la capa de datos. Acceso a datos con JDBC

Establecer una conexión con una base de datos o acceder a cualquier fuente de datos tabular Enviar enunciados SQL. Procesar los resultados

BANCO DE PREGUNTAS PARA EVALUACIÓN DE CONOCIMIENTOS DEL CONCURSO DE MÉRITOS Y OPOSICIÓN EXPERTO EN DESARROLLO DE SISTEMAS 1

Transcripción:

JDBC (Java DataBase Connectivity) es una interfaz para programar la ejecución de sentencias SQL sobre SGBDR El API JDBC facilita programar el acceso a BD sin que se tenga en cuenta a que Servidor nos dirigimos (Oracle, Sybase, Informix, etc.). JDBC hace tres cosas:» Establece la conexión con una BD» Envía sentencias SQL» Procesa los resultados 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 = getint("a");string s = getstring("b");float f = getfloat("c"); } JDBC permite dos modelos de acceso a BD: de dos o de tres niveles (tier) J. M. Medina, O. Pons, M.A.Vila Prácticas de Modelos Avanzados de Bases de Datos 10

Para que una aplicación JAVA que utilice el API JDBC pueda acceder a un Servidor concreto necesita un driver de JDBC específico para él Tipos de drivers : n Puente JDBC-ODBC y driver ODBC o Driver escrito en JAVA que hace llamadas al driver nativo del SGBDR p Driver en JAVA a Protocolo de Red independiente del SGBDR. Después debe haber un software intermedio que traslade este protocolo a cada SGBDR particular q Driver nativo escrito completamente en JAVA. Específico de cada SGBDR El API JDBC forma parte del paquete de clases de JAVA a partir del JDK1.1x, que incluye además:» El gestor de drivers JDBC» Una utilidad para evaluar que la utilización del API JDBC sea conforme a estándares» Un puente JDBC-ODBC para que, si disponemos del driver ODBC para nuestro SGBDR, podamos escribir programas que accedan a él No obstante, se puede incorporar a un programa que utilice JDK1.0 J. M. Medina, O. Pons, M.A.Vila Prácticas de Modelos Avanzados de Bases de Datos 11

p q Acceso a BD desde Java. JDBC Veremos el empleo del API JDBC utilizando un driver tipo 4 de Oracle para acceso a sus servidores de BD Pasos para utilizar el driver : n Carga de las classes JDBC: import java.sql.* ; o Carga del driver : Class.forName ("oracle.jdbc.driver.oracledriver") p Conexión a la BD: DriverManager.getConnection (arguments) q Enviar sentencias SQL y procesar resultados utilizando el API JDBC La conexión se maneja mediante el método getconnection de la clase DriverManager. Algunas conexiones válidas para nuestro driver : getconnection ("jdbc:oracle:thin:<<usuario>>/<<clave>>@oracle0.ugr.es:1521: practbd"); ó getconnection ("jdbc:oracle:thin:@oracle0.ugr.es:1521:practbd", "<<usuario>>", "<<clave>>");» Donde, thin hace referencia a nuestro driver, oracle0.ugr.es es la máquina que alberga el servidor Oracle, 1521 es el puerto asignado al servicio listener y practbd es el nombre del servidor de BD Existen tres tipos de sentencias: c Sentencias SQL estáticas (su código se conoce en tiempo de compilación) Se crean mediante el método createstatement() de la clase Connection J. M. Medina, O. Pons, M.A.Vila Prácticas de Modelos Avanzados de Bases de Datos 12

d e Acceso a BD desde Java. JDBC PreparedStatement, creadas por el método preparestatement(). Dan soporte a SQL dinámico (parte de la sentencia se precompila y parte se sustituye en tiempo de ejecución). Eficiente para sentencias de ejecución reiterada CallableStatement creada por el método preparecall() destinada a la ejecución de procedimientos almacenados» Creación de objetos Statement Connection con = DriverManager.getConnection(url, "pepito", ""); Statement stmt = con.createstatement();» Métodos para la ejecución de sentencias Statement executequery(). Para consultas que devuelven un conjunto de tuplas executeupdate(). Para Insert, Update y Delete y DDL execute(). Devuelven más de un conjunto de tuplas» El conjunto de tuplas que se obtiene de aplicar el método executequery() se gestiona mediante objetos ResultSet» Esta clase dispone de métodos getxxxx(<nomb_atributo>) para recuperar los datos de cada atributo en el formato adecuado y del método next() para recorrer cada tupla del conjunto devuelto. JDBC 2.x añade los métodos updatexxxx(<posicion_columna>,valor) para actualizar valores en la fila actual. java.sql.statement stmt = conn.createstatement(); ResultSet r = stmt.executequery("select a, b, c FROM Table1"); while (r.next()) { int i = r.getint("a"); String s = r.getstring("b"); float f = r.getfloat("c"); System.out.println("ROW = " + i + " " + s + " " + f); } J. M. Medina, O. Pons, M.A.Vila Prácticas de Modelos Avanzados de Bases de Datos 13

» Para consultas de las que ignoramos la lista y tipo de atributos sobre los que proyectamos, disponemos del método getmetadata() de la clase ResultSet.» Éste devuelve un objeto ResultSetMetaData con el que podemos obtener información acerca de la estructura de las tuplas devueltas. Los principales métodos son: getcolumncount() Devuelve el número de columnas del ResultSet getcolumnlabel(int i) Devuelve la cabecera de la columna i getcolumnname(int i) Nombre de la columna situada en la posición i. getcolumntype(int i) Devuelve un número que identifica el tipo de dato. La clase java.sql.types contiene las constantes que definen cada tipo de dato sql. getcolumntypename(int i) Muestra en un objeto cadena el nombre del tipo de dato presente en la columna i. getcolumndisplaysize(int i) El tamaño de visualización en caracteres de la columna i. getprecision(int i) Cuantos dígitos decimales tiene la columna getscale(int i) Cuantos dígitos hay a la derecha del punto decimal gettablename(int i) En qué tabla está la columna» Ejemplo String query = "select * from Table1"; ResultSet rs = stmt.executequery(query); ResultSetMetaData rsmd = rs.getmetadata(); int columncount = rsmd.getcolumncount(); for (int i = 1; i <= columncount; i++) { String s = rsmd.getcolumntypename(i); System.out.println ("Column " + i + " is type " + s);} J. M. Medina, O. Pons, M.A.Vila Prácticas de Modelos Avanzados de Bases de Datos 14