Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912.

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE
Advertisements

Db4o y JDBC Bases de Datos en MHP.
Acceso a Bases de Datos con Java
Fernando Alonso Blázquez Servlets con acceso a Bases de Datos 29 de Abril de 2004.
SQL Sigla del nombre “Structured Query Language”.
PHP: Acceso a Bases de Datos
Acceso a bases de datos MySQL en PHP
Desarrollo de Aplicaciones para Internet
Data set Data table Base de datos con servidor de base de datos String conexión Objeto conexión.
ACCESO A BASES DE DATOS ORACLE CON PHP
JDBC Acceso a B.B.D.D. con Java.
Programador en Plataforma Java y XML
Lenguaje de consulta de Hibernate
Proyecto DE BASE DE DATOS
UNIVERSIDAD LATINA (UNILA) VI.- ARCHIVOS Y BASES DE DATOS
Francisco Moreno Bases de Datos II Universidad Nacional
Oskar GRUPO Jon Ander Alex Lander Jorge Jose Luis Diego.
JAVA Persistence API (JPA)
ODBC - JDBC Gabriel Vásquez Dpto. Electrónica, Instrumentación y Control.
Práctica Profesional MySql - PHP. IS 185 Profesor: MOLINA, Carlos PHP acceso a MySQL Algunas funciones que provee PHP para el manejo de bases de datos.
M.I. María Luisa González Ramírez Servlets y JSP.
Unidad 2. Manejo de conectores
Ing. Eddye Sánchez Castillo. Las principales temas de este capitulo son:  Conectarse al Servidor MySql  Conectarse a la Base de Datos  Enviar Consultas.
Clase 9 Curso Microsoft.NETCurso Microsoft.NET I.S.F.T. N° 182I.S.F.T. N° 182.
Acceso a datos con ADO.NET
1 Ingeniería del Software Ejercicios de Implementación  Caso de Uso Total Gasto (Junio 2003)  Caso de Uso Mejor Usuario (Septiembre 2003)  Caso de Uso.
SQL Lenguaje de consulta estructurado
Bases de Datos Relacionales
ARCHIVOS Y CONEXIÓN A BASE DE DATOS. FileInputStream: Clase que representa ficheros de texto accedidos en orden secuencial, byte a byte. FileWriter: Clase.
Scis.regis.edu ● CS-434: Programación Orientada a Objetos usando Java Semana 7 Dr. Jesús Borrego Adjunct Faculty Regis University 1.
Bases de datos en la Web n Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web n Ventajas –Proporcionar.
UNIVERSIDAD LATINA BASES DE DATOS.
SPRING JDBC Curso: Programación orientada a objetos
Manejo de Base de Datos en Java Ing. Esp. Ricardo Cujar.
SQL (Structured Query Language / Lenguaje de consulta estructurado)‏
Fernando Alonso Nicolás Serrano Acceso a Bases de Datos con Java JDBC 01 de Abril de 2008.
Programación Orientada a Objetos II
Programación Orientada a Objetos Modulo 7 JDBC Universidad de Chile Departamento de Ciencias de la Computación.
Fernando Alonso Nicolás Serrano Servlets con acceso a Bases de Datos 21 de Abril de 2008.
1 TEMA 8. Acceso a bases de datos Arquitectura de una aplicación que accede a una BD Arquitectura de una aplicación que accede a una BD Establecer la conexión.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Manipulación de Datos Conceptos básicos.
JDBC Java Database Connectivity CC52N - Computación para el trabajo grupal Profesor: Nélson Baloian Por: Edgard Pineda.
1 Programación Interactiva JDBC Escuela de Ingeniería de Sistemas y Computación Facultad de Ingeniería Universidad del Valle.
Bases de Datos 1 Prof. Daniel Obando Fuentes. USE USE {database}; Cambia el contexto de base de datos Es decir, dice cuál es la base de datos que se utilizará.
Java Data Base Connectivity
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Structured Query Language (Lenguaje Estructurado de Consultas)
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Lenguaje Estructurado de Consulta
SQL Sigla del nombre “Structured Query Language”.
Ing. Lorena Ruhl - Marco Rapallini - Javier FabiánMódulo 3: Integración de PHP con Bases de Datos Ing. A. Lorena Ruhl Universidad.
Universidad del Cauca – FIET – Departamento de Sistemas CAPITULO 0 Introducción.
INSTRUCCIONES Elaboración de la Presentación:
 SQL es un lenguaje de consulta para los sistemas de bases de datos relaciónales, pero que no posee la potencia de los lenguajes de programación.
MySQL LENGUAJE SQL.
Bases de Datos y Conectores
Yeray Caballero López Juan Pablo Quesada Nieves
SQL (Structured Query Language) Lenguaje orientado a bases de datos y sobre todo, al manejo de consultas; el objetivo principal de SQL es la realización.
MSSQL SERVER CURSO BÁSICO 1. DESCRIPCIÓN DEL CURSO. Sesión 4: Sentencia Insert,Transacciones,Insert general, Insert Select * From, Sentencia Update,Update.
(Lenguaje de consulta estructurado)
SQL es un estándar internacional para trabajar con bases de datos, que consta de dos partes: una parte para manipular datos y una parte para definir tipos.
JDBC. Definición Java Database Conectivity El acceso a bases de datos JDBC implica abrir una conexión ejecutar comandos SQL en un sentencia procesar los.
¿Cómo programar un Botón para agregar registros a una base de datos?
DML Transact SQL Sesión X Triggers. Duración 2 Horas.
Crear Aplicación Cliente para Conectarse a una Base de Datos.
Crear una tabla (create table - sp_tables - sp_columns - drop table) Para ver las tablas existentes creadas por los usuarios en una base de datos usamos.
Conferencia 9. ODBC, OLE DB y JDBC.
Transcripción de la presentación:

Tema 3 J2EE Java Database Connectivity Temas Selectos de Cómputo Grupo 912

JDBC Java Database Connectivity es el servicio e interfases de programación para manipular bases de datos relacionales por medio del lenguaje de programación Java. Para programar JDBC se necesita de clases proveedoras que realizan la conexión y manipulación del acceso a la base de datos. El manejador de JDBC es proporcionado por el fabricante de bases de datos. Es común encontrar manejadores (drivers) JDBC para Oracle, MS SQL Server, Sybase, MySQL, Postgres, Informix, DB2. La interfase de programación de aplicaciones (API) está definido en el paquete java.sql.

Estructuras de clases JDBC DriverManager – Realiza la gestión de la conexión a la base de datos Connection – Configura la conexión a la base de datos; y permite crear objetos/sentencias SQL que son ejecutadas en el RDMBS Statement – Dada una sentencia SQL en forma de cadenas de caracteres, permite ejecutar consultas, inserciones, modificaciones, borrado; o instrucciones propia del RDBMS PreparedStatement – Permite manipular sentencias SQL por medio de parámetros y permite precompilar las instrucciones que se envían al manejador CallableStatement – Permite invocar a procedimientos almacenados ResultSet – Objeto que permite manipular en memoriar el resultado de una consulta, recorriendo renglones y sus columnas SQLException – Excepción disparada ante cualquier error del RDBMS Se debe importar el paquete java.sql

Cargar al JDBC Driver Cargar el Driver JDBC, cargando dinámicamente la clase que lo implementa //para conexión a HSQLDB Class.forName("org.hsqldb.jdbcDriver“); //para conexión a MySQL Class.forName(“com.mysql.jdbc.Driver“); //para conexión a Oracle Class.forName(“ oracle.jdbc.OracleDriver “); //para conexión a PostgreSQL Class.forName(“ org.postgresql.Driver”); //para conexión con ODBC Class.forName(“ sun.jdbc.odb.JdbcOdbcDriver”); Cada driver es distinto, por base de datos El Driver JDBC debe estar en la ruta de clases (CLASSPATH) Java

Conectarse a la Base de datos Por medio del método estático getConnection() de la clase DriverManager, se realiza la conexión a la base de datos. Se debe proporcionar el URL de conexión a la base de datos. //Conexion a HSQLDB Connection c=DriverManager.getConnection(“jdbc:hsqldb:hsql://localhost/bookstore“,”sa”,””); //Conexión a MySQL Connection c=DriverManager.getConnection(“jdbc:mysql://localhost/bookstore“,”jim”,”s3cr3t”); //Conexión a PostgresSQL Connection c=DriverManager.getConnection(“jdbc:postgresql://localhost/mydatabase”,”myuser”,”secret”); //Conexión a Oracle Connection Adicional, debe proporcionarse el usuario y password. Toda conexión, debe cerrarse al concluir el procesamiento, por medio del método close() c.close();

Realizar un consulta SQL Se utiliza la clase Statement; y los objetos de este tipo se obtienen por medio de createStatement final String query= "SELECT * FROM AUTHORS"; Statement stmt=this.conexion.createStatement(); ResultSet result=stmt.executeQuery(query); Se puede utilizar la clase PreparedStatement; y los objetos de este tipo se obtienen por medio de prepareStatement final String query="SELECT * FROM TITLES WHERE ISBN=?"; PreparedStatement pstmt=this.conexion.prepareStatement(query); pstmt.setString(1,isbn); ResultSet result=pstmt.executeQuery();

Procesar los resultados de una consulta SQL Tanto Statement y PreparedStatement, al realizar consultas SQL, retornan un objeto de tipo ResultSet ResultSet contiene de 0 a más renglones que el resultado de la consulta Cada renglón contiene una o mas columnas Se puede recorrer al objeto ResultSet, por medio del método next(), que retorna false cuando no hay mas renglones. El resultado se puede almancenar en un arreglo, o en estructuras de datos List, Map o Set. Por ejemplo, el siguiente código guarda cada columna de un renglon en una estructura Map, y dicho Map se agrega a una estructrua List while (result.next()){ Integer id= new Integer(result.getInt(cols[0])); String firstname= result.getString(cols[1]); String lastname= result.getString(cols[2]); HashMap data= new HashMap(); data.put(cols[0],id); data.put(cols[1],firstname); data.put(cols[2],lastname); list.add(data); } Al concluir el procesamiento, se debe cerrar al objeto ResultSet; y al objeto Statement o PreparedStatement result.close(); stmt.close();

Inserción, Modificación y Borrado Para insertar, modificar o borrar se debe utilizar el método executeUpdate. En el caso de PreparedStatement, se puede hacer asi: Inserción final String query="INSERT INTO AUTHORS(AUTHORID,FIRSTNAME,LASTNAME) VALUES(?,?,?)"; PreparedStatement pstmt=this.conexion.prepareStatement(query); pstmt.setInt(1,id); pstmt.setString(2,firstName); pstmt.setString(3,lastName); int inserted= pstmt.executeUpdate(); Modificación final String query="UPDATE AUTHORS SET FIRSTNAME= ?,LASTNAME=? WHERE AUTHORID=?"; PreparedStatement pstmt=this.conexion.prepareStatement(query); pstmt.setString(1,firstName); pstmt.setString(2,lastName); pstmt.setInt(3,id); int updated= pstmt.executeUpdate(); Borrado final String query="DELETE FROM AUTHORS WHERE AUTHORID=?"; PreparedStatement pstmt=this.conexion.prepareStatement(query); pstmt.setInt(1,id); int deleted= pstmt.executeUpdate(); El método executeUpdate retorna el número de elementos modfiicados

Manejo de transacciones Una transacción es una unidad lógica de trabajo que debe ser completada o abortada; y no acepta estados intermedios. Una transacción a la base de datos consistente en la combinación de operaciones insert, update, delete; o cualquiera que altere a los datos. Por omisión, cada operación realizada al RDBMS es aplicada como una transacción. Se puede dermarcar un conjunto de transacciones, utilizando JDBC. Se debe apagar la opción de autoCommit y al concluir las operaciones, realizar un commit o rollback connection.setAutoCommit(false); //realizar múltiples operaciones insert, update, delete if (exito) connection.commit(); else connection.rollback();