JDBC: Java DataBase Conectivity



Documentos relacionados
Acceso a BD desde Java. JDBC

JDBC. Una mini-introducci. introducción

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

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

Acceso a BDs en Java: JDBC

JDBC. Francisco Javier Solans Benedí Software Developper

Desarrollo de Software con

Java y MySQL. Ciclo de ejecución

Federico Peinado

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

Bases de datos y JDBC

Bases de Datos Introducción a la Conectividad de

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

NORMAS PARA LA ENTREGA DE LOS LABORATORIOS

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

JDBC. Aplicaciones Distribuidas

myappgen Usted Construye la aplicación mientras la ejecuta

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

Introducción a JDBC - Base de datos con Java

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

MySQL con Java en MS Windows

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

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

Base de Datos Oracle: desarrollo de aplicaciones

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

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

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

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

Número de Práctica: 1 Nombre de la Práctica: Comunicación Cliente Servidor Vía Sockets Java con Sistema Manejador de Bases de Datos

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

Programación Orientada a Objetos II. La Plataforma JDBC

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)

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

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

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS

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

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

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

ADMINISTRACIÓN DE BASE DE DATOS

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

BASE DE DATOS QUÉ ES UNA BASE DE DATOS?

Conexión JDBC. Tecnicatura Superior en Programación UTN-FRM Programación 3

Instalación de InnovaPortal 4G para Windows

Introducción a los Sistemas de Gestión de Bases de Datos

JDBC - Acceso a Bases de Datos

Tema: Desarrollo de aplicaciones con Visual Studio.net Parte II

JWF. Guía de Instalación. IdeaSoft Uruguay s.r.l , Montevideo, Uruguay Tel:+598 (2) Java WorkFlow

Manual de NetBeans y XAMPP

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

Referencia SQL en la versión de HUGOSQL White Paper por: HUGOSQL 2012

Software de Comunicaciones (2) Manual de Usuario Consola

Acceso a bases de datos con JDBC

Java y MySQL. Ciclo de ejecución

Acceso a bases de datos MySQL con PHP

Conexión ODBC Visual Basic - MSQL. Cristian Vidal Silva

Manual Instalación y Operación Cliente Comunicaciones. Manual de Instalación, Configuración y Uso del Cliente de comunicaciones

Lenguaje Java Avanzado

GUÍA TÉCNICA. Desarrollo de Proyectos en Plataforma Liferay en el Gobierno de Extremadura

El lenguaje de manipulación de datos (DML) es una parte fundamental de SQL.

Programación y Acceso a BD con SQL

Taller de Programación II J2EE

BROWSERSQL VERSIÓN 3.1 TUTORIAL

Base de datos relacional

Práctica sobre compartición de instancias remotas.

USANDO SERVLETS EN UN SERVIDOR WEB RESIN

INSTITUCIÓN EDUCATIVA GABRIEL GARCIA MÁRQUEZ BASE DE DATOS. DESARROLLO DE SOFTWARE Página 1 de 28 SQL SQL

Manual de Instalación

FUNDAMENTOS DE PROGRAMACION WEB

c:\set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;

Formato para prácticas de laboratorio

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

ARTE I BASE DE DATOS EN JAVA

BASES DE DATOS AVANZADAS Transacciones en MYSQL

Registro y Comunicación Automatizada a Bases de Datos

TEMA 11 INDICE [PROGRAMACIÓN]

Guía Taller I Conexión con la Base de Datos Introducción a PostgreSQL

MSSQL Server Java

BASE DE DATOS RELACIONALES

Manual de JSP con MySQL

INTRODUCCIÓN. El objetivo de este manual es la identificación de los procesos técnicos más

Bases de Datos SQL 1 SQL. Jorge Pérez R. Universidad de Talca, II Semestre 2006

Tema: MAPEO OBJETO RELACIONAL (ORM) - ADODB

Acceso a bases de datos desde Java: JDBC

Conexión de Mysql con NetBeans

Oracle 12c DISEÑO Y PROGRAMACIÓN

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

Acceso a bases de datos en Perl

Gestor de aplicaciones Java. Esta herramienta es el intérprete de los archivos de clase generados por el javac (compilador).

Tablas y Campos Nuevos

Universidad Nacional de Luján Departamento de Ciencias Básicas Programación III

SQL (Structured Query Language)

UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA NACIONAL EXTENSIÓN BARQUISIMETO BARQUISIMETO ESTADO. LARA

Aviso Legal El presente libro electrónico se distribuye bajo Attribution-NonCommercial- NoDerivs 3.0 Unported

Transcripción:

JDBC: Java DataBase Conectivity Integrantes: Pablo Benaprés M. Tomás Girardi J. Roberto Vargas H.

Introducción Que es? API Driver Java Interactúa a con bases de datos Ejecuta consultas Recibe resultados de consultas

API s Java Interfaz de Programación n de Aplicaciones Herramientas para desarrollo de aplicaciones. Conjunto de clases (en paquetes) Metodos e Instancias para cumplir una serie de tareas relacionadas con la función n de la API. Ejemplos: JAXP -> > XML Swing -> > GUI AWT -> > GUI

Drivers JDBC Tipo1 - JDBC-DB Drivers Para conexión n con DB Utilizan puente desarrollado por Sun e InterSolv. Software no-java en cliente Implementado con código c nativo. Tipo2 Drivers API s nativas parcialmente en java Código nativo con pequeña a envoltura Java Mayor rapidez Menos seguridad: código c nativo puede producir caída de la máquina m virtual. Tipo 3 Drivers de protocolo de red Completamente en Java Aplicación n intermedia Protocolo de red genérico que interactúa a con aplicación n intermedia. Tipo 4 Drivers completamente Java Completamente en Java No requieren de aplicación n intermedia Interactúa a directamente con Database

Historia Año Versión Especificación JSR Implementación JDK 2006 JDBC 4.0 JSR 221 Java SE 6 2001 JDBC 3.0 JSR 54 JDK 1.4 1999 JDBC 2.1 JDK 1.2 1997 JDBC 1.2 JDK 1.1

Instalación Instalar correctamente el JDK JDBC viene incluido en el JDK por lo que no es necesario instalar nada adicional para el sistema base. Cada driver tiene requerimientos distintos como se verá más s adelante. Los mas típicos vienen incluidos en algunas JDK (Eje: NetBeans 6.1)

Bases de datos soportadas: IBM DB2 ODBC Microsoft SQL Server Oracle Cloudscape Cloudscape RMI Firebird IDS Server MySQL PostgreSQL Sybase PointBase embedded server InstantDB Hypersonic SQL Informix Dynamin Server Fuente: http://www.devx.com/tips/tip/28818

Programación n Java de JDBC: Incluir librerías: Propias la Base de Datos usada. Ej: MySQL - > mysql-connector connector-java-5.1.5-bin Como? Jar Incluir librería a (xxx.jar( xxx.jar) ) dentro del jar. Setear Class-Path en archivo MANIFEST.MF Ej: Class-Path Path: mysql-connector connector-java-5.1.5-bin.jar Ejecutando.class. directamente Java ejemplojdbc classpath lib/mysql mysql-connector-java-5.1.5-bin.jar Ej: Netbeans

Funcionamiento

Programación n Java de JDBC: Cargar los drivers: Ej: : JDBC-MySQL Crea Instancia en DriverManager. Import java.sql.*;.*; Class.forName( com. com.mysql.jdbc.driver );

Programación n Java de JDBC: Establecer la conexión: n: Connection con = DriverManager.getConnection( String url, String usuario, String password}; Ejemplo de URL jdbc:mysql mysql:://< :://<host>:< >:<puerto>/< >/<base de datos>

Programación n Java de JDBC: Otras bases de datos: PostgreSQL (>7.0): Class.forName( org.postgresql.driver org.postgresql.driver ) url = jdbc:postresql://< ://<host>:< >:<port>/<db> ODBC: Class.forName( sun.jdbc.odbc.jdbcodbcdriver sun.jdbc.odbc.jdbcodbcdriver ) url = jdbc.odbc:<db>

Programación n Java de JDBC: Ejecución n DDL (Data Definition Language) Creación n de tablas: String sentenciaddl = CREATE TABLE EJEMPLO( campo1 FLOAT, campo2 VARCHAR(40), campo3 DATE) ; ; No necesario

Programación n Java de JDBC: Ejecución n DDL (Data Definition Language) Modificación n de Tablas: Creación statement (solo necesario si no existe). Statement st = con.createstatement.createstatement(); st.executeupdate(sentenciaddl sentenciaddl);

Programación n Java de JDBC: Creación n de tablas e inserción: n: String query = INSERT INTO EJEMPLO VALUES( 164836789, Roberto Vargas, 31-12 12-86 ) ; st.executestatement(query.executestatement(query);

Programación n Java de JDBC: Sentencias Query: Ver Contenido de Tabla: String sentenciaquery = SELECT * FROM EJEMPLO ; ResultSet rs = st.executequery(.executequery(sentenciaquery) rs.next.next(); float flt = rs.getfloat.getfloat( campo1 );

Programación n Java de JDBC: ResultSet: Multiples tipos de get: Enteros: (int) getint(string nombrecolumna) (int) getint(int numerocolumna) Strings: (String) getstring(string nombrecolumna) (String) getstring(int numerocolumna) getbyte( ), getboolean( ), getdouble( ), getdate( ), etc. (ver

Programación n Java de JDBC: Ahorro de código: c preparedstatement! Sentencias repetitivas con campos variables: PreparesdStatement ps = con.preparedstatement((string String) Query) String Es una sentencia normal, reemplazando los valores de los campos con? : Query = INSERT INTO LISTA VALUES(?,?) ; Ps.setString(1, Fideos Fideos ); Ps.setDouble(2, 150.0 150.0 ); (int)) N = Ps.executeUpdate(void void); executeupdate retorna 0 como DDL, el numero de filas modificadas como Query. Útil para un UPDATE WHERE

Programación n Java de JDBC: Integridad de datos: transacciones Por defecto, una query (o DDL) se ejecuta en el momento que se hace un llamado a executeupdate() o executestatement(). Pero esto puede ser manipulado: con.setautocommit setautocommit(false); De esta forma no se efectua la transacción n hasta que se denote explícitamente: con.setautocommit(false); varias sentencias con.commit(); con.setautocommit(true);

JDBC 2.0: Nuevas implementaciones: cursores Statement stmt = con.createstatement( ResultSet.TYPE_SCROLL_( _(IN)SENSITIVE, ResultSet.CONCUR_( _(READ_ONLY)UPDATABLE);); rs.next(); rs.previous(); (JDBC 2.0) rs.absolute(int); rs.relative(int); (boolean) rs.isfirst(); (boolean) rs.inlast(); (boolean) rs.isafterlast(); Ver: http://java.sun.com/j2se/1.5.0/docs/api/java/sql/re sultset.html

JDBC 2.0: Nuevas implementaciones: modificaciones a tiempo real: Statement stmt = con.createstatement( ResultSet.TYPE_SCROLL_( _(IN)SENSITIVE, ResultSet.CONCUR_( _(READ_ONLY)UPDATABLE);); Manipulación directa del ResultSet: rs.updatexxx((string),(xxx)); rs.updaterow(); rs.movetoinsertrow(); rs.deleterow(); Ver: http://java.sun.com/j2se/1.5.0/docs/api/java/sql/resul tset.html

JDBC 2.0: Nuevas implementaciones: Actualización por lotes: Parecido a las transacciones, pero como un batch: st.addbatch(( ((String) );); (int[]) st.executebatch(); Retorna el numero de modificaciones hechas en cada fila correspondiente a la posicion del arreglo. st.clearbatch();

Referencias: http://www.unix.com.ua/orelly/java- ent/jenut/ch02_03.htm http:// ://java.sun.com/j2se/1.5.0/docs/api/java/sql/resultset.html http:// ://www.devx.com/tips/tip/28818 Sugerencia para estudio: http:// ://www.programacion.com/tutorial/j dbc/