Este documento trata sobre el acceso a bases de datos desde aplicaciones Java mediante JDBC. Explica los pasos para registrar un controlador JDBC, abrir una conexión a la base de datos, ejecutar consultas SQL y recuperar los resultados. También menciona brevemente el manejo de excepciones, el uso de diferentes bases de datos y tipos de sentencias SQL.
JDBC permite establecer conexiones con bases de datos, enviar consultas SQL y procesar resultados. Existen cuatro tipos de controladores JDBC que varían en su dependencia de software adicional y capacidad multiplataforma, desde controladores que requieren software adicional hasta controladores 100% en Java. Los ejemplos muestran cómo conectarse a una base de datos usando JDBC, obtener información sobre tablas y cerrar la conexión.
Este documento proporciona una introducción a JDBC y las bases de datos en Java. Explica los conceptos clave como conexiones a bases de datos, ejecución de sentencias SQL, tipos de statements, prepared statements, stored procedures, transacciones y más. También incluye ejemplos de código para establecer conexiones, consultas, inserciones, actualizaciones y eliminaciones de datos.
Diapositiva con una muy buena introduccion al manejo de bases de datos a través del lenguaje de Programación Java. Contiene además una introducción a Mysql, y además expica muy bien qué es el driver JDBC
Este documento presenta el primer módulo de un curso básico sobre JDBC. Explica los conceptos clave de JDBC como la conexión a bases de datos, el uso de drivers JDBC y los métodos principales para ejecutar consultas y actualizaciones SQL. El contenido incluye 4 módulos con prácticas de laboratorio para aprender a implementar JDBC.
El documento presenta una lista de libros y recursos sobre Java Database Connectivity (JDBC). Explica que JDBC es un conjunto de clases e interfaces Java para ejecutar sentencias SQL y acceder a bases de datos. Los objetivos son dominar el API de JDBC y ser capaz de conectarse a bases de datos remotas para realizar consultas y actualizaciones.
Este documento trata sobre las bases de datos y cómo se conectan las aplicaciones Java a ellas a través del driver JDBC. Explica que JDBC es la interfaz estándar de Java para conectarse a bases de datos y no requiere descargar paquetes adicionales. Luego describe los objetos principales involucrados en el acceso a datos como Connection, Statement y ResultSet.
El documento describe la historia y funcionalidad de JDBC. JDBC fue creado en 1996 para proporcionar una interfaz estándar para acceder a bases de datos desde Java de forma independiente del sistema gestor de bases de datos. El documento explica cómo JDBC simplifica el acceso a bases de datos permitiendo ejecutar sentencias SQL de forma sencilla. También compara JDBC con ODBC y describe los diferentes tipos de drivers JDBC.
JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales. JDBC provee una interfaz uniforme independiente del motor de base de datos. Los drivers JDBC traducen las llamadas JDBC a llamadas específicas del motor de base de datos. Existen cuatro tipos de drivers JDBC, siendo el tipo 4 (100% Java) el más eficiente.
JDBC permite establecer conexiones con bases de datos, enviar consultas SQL y procesar resultados. Existen cuatro tipos de controladores JDBC que varían en su dependencia de software adicional y capacidad multiplataforma, desde controladores que requieren software adicional hasta controladores 100% en Java. Los ejemplos muestran cómo conectarse a una base de datos usando JDBC, obtener información sobre tablas y cerrar la conexión.
Este documento proporciona una introducción a JDBC y las bases de datos en Java. Explica los conceptos clave como conexiones a bases de datos, ejecución de sentencias SQL, tipos de statements, prepared statements, stored procedures, transacciones y más. También incluye ejemplos de código para establecer conexiones, consultas, inserciones, actualizaciones y eliminaciones de datos.
Diapositiva con una muy buena introduccion al manejo de bases de datos a través del lenguaje de Programación Java. Contiene además una introducción a Mysql, y además expica muy bien qué es el driver JDBC
Este documento presenta el primer módulo de un curso básico sobre JDBC. Explica los conceptos clave de JDBC como la conexión a bases de datos, el uso de drivers JDBC y los métodos principales para ejecutar consultas y actualizaciones SQL. El contenido incluye 4 módulos con prácticas de laboratorio para aprender a implementar JDBC.
El documento presenta una lista de libros y recursos sobre Java Database Connectivity (JDBC). Explica que JDBC es un conjunto de clases e interfaces Java para ejecutar sentencias SQL y acceder a bases de datos. Los objetivos son dominar el API de JDBC y ser capaz de conectarse a bases de datos remotas para realizar consultas y actualizaciones.
Este documento trata sobre las bases de datos y cómo se conectan las aplicaciones Java a ellas a través del driver JDBC. Explica que JDBC es la interfaz estándar de Java para conectarse a bases de datos y no requiere descargar paquetes adicionales. Luego describe los objetos principales involucrados en el acceso a datos como Connection, Statement y ResultSet.
El documento describe la historia y funcionalidad de JDBC. JDBC fue creado en 1996 para proporcionar una interfaz estándar para acceder a bases de datos desde Java de forma independiente del sistema gestor de bases de datos. El documento explica cómo JDBC simplifica el acceso a bases de datos permitiendo ejecutar sentencias SQL de forma sencilla. También compara JDBC con ODBC y describe los diferentes tipos de drivers JDBC.
JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales. JDBC provee una interfaz uniforme independiente del motor de base de datos. Los drivers JDBC traducen las llamadas JDBC a llamadas específicas del motor de base de datos. Existen cuatro tipos de drivers JDBC, siendo el tipo 4 (100% Java) el más eficiente.
JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales de forma independiente al motor de base de datos subyacente. JDBC proporciona una interfaz única mientras que los drivers JDBC traducen las llamadas JDBC a invocaciones específicas del motor de base de datos. Existen cuatro tipos de drivers JDBC, siendo el tipo 4 (100% Java) el más eficiente.
JDBC permite a las aplicaciones Java interactuar directamente con bases de datos relacionales. Existen cuatro tipos de drivers JDBC: tipo 1 usa ODBC, tipo 2 usa APIs nativas, tipo 3 es un driver proxy y tipo 4 es 100% Java. La API JDBC define clases e interfaces para conectarse a bases de datos, ejecutar sentencias SQL y obtener resultados.
El documento describe cómo conectarse a una base de datos desde Java usando JDBC. Primero se debe descargar el controlador JDBC apropiado y luego establecer una conexión mediante DriverManager.getConnection. Una vez conectado, se pueden crear objetos Statement para ejecutar consultas SQL y obtener resultados a través de objetos ResultSet.
Bases de Datos en en www.fiec.espol.edu.ecSilvana Vargas
El documento resume los conceptos clave de JDBC y SQL. JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales de forma independiente al motor de base de datos subyacente. Existen cuatro tipos de drivers JDBC que se diferencian en cómo traducen las llamadas JDBC. SQL incluye sentencias como SELECT, INSERT, UPDATE y DELETE para recuperar, agregar, modificar y eliminar datos de bases de datos respectivamente.
La jerarquía de clases Java.sql.* proporciona una biblioteca para realizar consultas a bases de datos SQL. Importar esta biblioteca permite conectarse a bases de datos y ejecutar consultas SQL mediante clases como Connection, Statement y ResultSet. Es importante asegurarse de que el controlador JDBC apropiado esté instalado para la base de datos a la que se desea conectar.
Este documento presenta una introducción a JDBC, la API de Java para acceder a bases de datos. Explica que JDBC permite el acceso unificado a cualquier base de datos mediante drivers específicos y describe los modelos de dos y tres capas de acceso a bases de datos. También define JDBC, sus tipos de drivers y algunas aplicaciones comunes como almacenar y recuperar datos XML. Finalmente, incluye un ejemplo de código Java para conectarse a una base de datos MySQL y consultar una tabla.
JDBC es acrónimo de java database conectivity,es un API estándar de java que nos permite el acceso a base de datos relacionales como MYSQL,postgres,SQL server ,Oracle; acceso a base de datos relacionales empotradas como: fierebird,sqlite,HSQLDB,etc.
El documento trata sobre JDBC (Java Database Connectivity). JDBC es una API de Java que permite ejecutar sentencias SQL de forma estandarizada para acceder a bases de datos de forma homogénea desde Java. Describe los tipos de drivers JDBC y cómo estos se comunican con el gestor de bases de datos. También explica conceptos clave como Connection, DriverManager y cómo JDBC permite el acceso a bases de datos de manera independiente del sistema gestor de bases de datos subyacente.
Este documento describe el uso de JDBC para conectarse a bases de datos desde Java. Explica que JDBC es una interfaz estándar que permite el acceso a bases de datos relacionales y que cada base de datos tiene su propio driver JDBC. También describe los tipos de drivers JDBC, cómo establecer una conexión usando las clases DriverManager y Connection, y provee ejemplos de código para conectarse a MySQL, PostgreSQL y Oracle.
Este documento describe la arquitectura y funcionalidad de JDBC, el API estándar de Java para acceder a bases de datos. JDBC permite conectarse a una base de datos, ejecutar consultas SQL y procesar los resultados. Existen diferentes tipos de drivers JDBC que se comunican con la base de datos de forma directa o a través de middleware. JDBC sigue un modelo de dos capas donde la aplicación se comunica directamente con el driver para acceder a la base de datos de forma local o remota.
Este documento describe la arquitectura y componentes de JDBC, el estándar de Java para el acceso a datos. JDBC permite la conexión a cualquier fuente de datos mediante SQL y separa la lógica de aplicación de los datos. La arquitectura sigue un modelo de dos o tres capas. Los componentes clave son los drivers, DriverManager, Connection, Statement y ResultSet.
Este documento describe la utilidad de JDBC para conectarse a bases de datos desde Java usando SQL. JDBC permite que una aplicación Java se conecte a diferentes bases de datos y las trate de forma uniforme. JDBC consta de dos capas: la capa de aplicación que contiene las clases para interactuar con la base de datos, y la capa de controlador que se encarga de establecer la comunicación con el RDBMS.
JDBC 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.
Este documento resume los conceptos fundamentales de JDBC, incluyendo: 1) JDBC proporciona una interfaz para conectar Java con bases de datos SQL mediante sentencias SQL integradas en Java; 2) La clase DriverManager gestiona la conexión entre el código Java y el driver apropiado; 3) Los objetos Statement se usan para enviar consultas SQL y obtener resultados.
Este documento proporciona instrucciones sobre cómo conectar una aplicación Java a una base de datos. Explica que JDBC es la API de Java para conectividad de bases de datos y describe los pasos para establecer una conexión utilizando DriverManager, incluyendo la creación de un objeto Connection y luego utilizando este objeto para crear objetos Statement y ResultSet para ejecutar consultas SQL y recuperar datos.
Este documento explica cómo usar JDBC en Java para acceder a bases de datos. JDBC permite el acceso a diferentes bases de datos desde un único programa Java mediante el uso de drivers específicos. Se debe establecer una conexión con la base de datos usando un objeto Connection antes de poder interrogarla y modificarla mediante sentencias SQL. Los resultados de las consultas se almacenan en objetos ResultSet que permiten acceder a los datos devueltos.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
Este documento proporciona una introducción al uso del driver JDBC para conectarse a una base de datos MySQL desde una aplicación Java. Explica que JDBC es un API de Java que permite acceder a sistemas de bases de datos y datos tabulares, y que el driver Connector/J permite la conexión entre Java y MySQL para manipular datos en la base de datos mediante sentencias SQL. El documento está dirigido a desarrolladores Java con conocimientos intermedios interesados en aprender sobre el uso de bases de datos MySQL en sus aplicaciones.
Este documento presenta un tutorial básico sobre cómo acceder a bases de datos desde Java utilizando JDBC. Explica que JDBC requiere manejar manualmente las conexiones y sentencias SQL, lo que implica mucho código acoplado a la base de datos. También introduce los conceptos de POJOs y ORM, y cómo los frameworks ORM como Hibernate abstraen estas diferencias entre los modelos de objetos y relacionales.
JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales de forma independiente al motor de base de datos subyacente. JDBC proporciona una interfaz única mientras que los drivers JDBC traducen las llamadas JDBC a invocaciones específicas del motor de base de datos. Existen cuatro tipos de drivers JDBC, siendo el tipo 4 (100% Java) el más eficiente.
JDBC permite a las aplicaciones Java interactuar directamente con bases de datos relacionales. Existen cuatro tipos de drivers JDBC: tipo 1 usa ODBC, tipo 2 usa APIs nativas, tipo 3 es un driver proxy y tipo 4 es 100% Java. La API JDBC define clases e interfaces para conectarse a bases de datos, ejecutar sentencias SQL y obtener resultados.
El documento describe cómo conectarse a una base de datos desde Java usando JDBC. Primero se debe descargar el controlador JDBC apropiado y luego establecer una conexión mediante DriverManager.getConnection. Una vez conectado, se pueden crear objetos Statement para ejecutar consultas SQL y obtener resultados a través de objetos ResultSet.
Bases de Datos en en www.fiec.espol.edu.ecSilvana Vargas
El documento resume los conceptos clave de JDBC y SQL. JDBC permite a las aplicaciones Java interactuar con bases de datos relacionales de forma independiente al motor de base de datos subyacente. Existen cuatro tipos de drivers JDBC que se diferencian en cómo traducen las llamadas JDBC. SQL incluye sentencias como SELECT, INSERT, UPDATE y DELETE para recuperar, agregar, modificar y eliminar datos de bases de datos respectivamente.
La jerarquía de clases Java.sql.* proporciona una biblioteca para realizar consultas a bases de datos SQL. Importar esta biblioteca permite conectarse a bases de datos y ejecutar consultas SQL mediante clases como Connection, Statement y ResultSet. Es importante asegurarse de que el controlador JDBC apropiado esté instalado para la base de datos a la que se desea conectar.
Este documento presenta una introducción a JDBC, la API de Java para acceder a bases de datos. Explica que JDBC permite el acceso unificado a cualquier base de datos mediante drivers específicos y describe los modelos de dos y tres capas de acceso a bases de datos. También define JDBC, sus tipos de drivers y algunas aplicaciones comunes como almacenar y recuperar datos XML. Finalmente, incluye un ejemplo de código Java para conectarse a una base de datos MySQL y consultar una tabla.
JDBC es acrónimo de java database conectivity,es un API estándar de java que nos permite el acceso a base de datos relacionales como MYSQL,postgres,SQL server ,Oracle; acceso a base de datos relacionales empotradas como: fierebird,sqlite,HSQLDB,etc.
El documento trata sobre JDBC (Java Database Connectivity). JDBC es una API de Java que permite ejecutar sentencias SQL de forma estandarizada para acceder a bases de datos de forma homogénea desde Java. Describe los tipos de drivers JDBC y cómo estos se comunican con el gestor de bases de datos. También explica conceptos clave como Connection, DriverManager y cómo JDBC permite el acceso a bases de datos de manera independiente del sistema gestor de bases de datos subyacente.
Este documento describe el uso de JDBC para conectarse a bases de datos desde Java. Explica que JDBC es una interfaz estándar que permite el acceso a bases de datos relacionales y que cada base de datos tiene su propio driver JDBC. También describe los tipos de drivers JDBC, cómo establecer una conexión usando las clases DriverManager y Connection, y provee ejemplos de código para conectarse a MySQL, PostgreSQL y Oracle.
Este documento describe la arquitectura y funcionalidad de JDBC, el API estándar de Java para acceder a bases de datos. JDBC permite conectarse a una base de datos, ejecutar consultas SQL y procesar los resultados. Existen diferentes tipos de drivers JDBC que se comunican con la base de datos de forma directa o a través de middleware. JDBC sigue un modelo de dos capas donde la aplicación se comunica directamente con el driver para acceder a la base de datos de forma local o remota.
Este documento describe la arquitectura y componentes de JDBC, el estándar de Java para el acceso a datos. JDBC permite la conexión a cualquier fuente de datos mediante SQL y separa la lógica de aplicación de los datos. La arquitectura sigue un modelo de dos o tres capas. Los componentes clave son los drivers, DriverManager, Connection, Statement y ResultSet.
Este documento describe la utilidad de JDBC para conectarse a bases de datos desde Java usando SQL. JDBC permite que una aplicación Java se conecte a diferentes bases de datos y las trate de forma uniforme. JDBC consta de dos capas: la capa de aplicación que contiene las clases para interactuar con la base de datos, y la capa de controlador que se encarga de establecer la comunicación con el RDBMS.
JDBC 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.
Este documento resume los conceptos fundamentales de JDBC, incluyendo: 1) JDBC proporciona una interfaz para conectar Java con bases de datos SQL mediante sentencias SQL integradas en Java; 2) La clase DriverManager gestiona la conexión entre el código Java y el driver apropiado; 3) Los objetos Statement se usan para enviar consultas SQL y obtener resultados.
Este documento proporciona instrucciones sobre cómo conectar una aplicación Java a una base de datos. Explica que JDBC es la API de Java para conectividad de bases de datos y describe los pasos para establecer una conexión utilizando DriverManager, incluyendo la creación de un objeto Connection y luego utilizando este objeto para crear objetos Statement y ResultSet para ejecutar consultas SQL y recuperar datos.
Este documento explica cómo usar JDBC en Java para acceder a bases de datos. JDBC permite el acceso a diferentes bases de datos desde un único programa Java mediante el uso de drivers específicos. Se debe establecer una conexión con la base de datos usando un objeto Connection antes de poder interrogarla y modificarla mediante sentencias SQL. Los resultados de las consultas se almacenan en objetos ResultSet que permiten acceder a los datos devueltos.
Este documento presenta una introducción a Hibernate, un framework para mapeo objeto-relacional. Explica cómo Hibernate mapea elementos de una base de datos relacional a objetos de una aplicación, haciendo la aplicación independiente del lenguaje SQL y del sistema de gestión de bases de datos. También describe cómo Hibernate se puede utilizar como capa de persistencia en una arquitectura MVC para aplicaciones web. Finalmente, proporciona una guía paso a paso para crear una primera aplicación simple con Hibernate.
Este documento proporciona una introducción al uso del driver JDBC para conectarse a una base de datos MySQL desde una aplicación Java. Explica que JDBC es un API de Java que permite acceder a sistemas de bases de datos y datos tabulares, y que el driver Connector/J permite la conexión entre Java y MySQL para manipular datos en la base de datos mediante sentencias SQL. El documento está dirigido a desarrolladores Java con conocimientos intermedios interesados en aprender sobre el uso de bases de datos MySQL en sus aplicaciones.
Este documento presenta un tutorial básico sobre cómo acceder a bases de datos desde Java utilizando JDBC. Explica que JDBC requiere manejar manualmente las conexiones y sentencias SQL, lo que implica mucho código acoplado a la base de datos. También introduce los conceptos de POJOs y ORM, y cómo los frameworks ORM como Hibernate abstraen estas diferencias entre los modelos de objetos y relacionales.
Este documento resume las clases y objetos en Java. Define una clase como una plantilla para objetos que establece su estructura y comportamiento. Las clases contienen atributos y métodos. Los objetos son instancias de clases que se crean en tiempo de ejecución.
Este documento describe una clase sobre programación Java. Explica las herramientas relacionadas con la construcción y ejecución de programas en Java, incluyendo el compilador Java, el intérprete Java, el generador de documentación JavaDoc y el depurador Java. También describe los componentes clave de la arquitectura Java, como la máquina virtual Java y la API de Java.
Archivo de la autoria de Fundación UPC - Paco Orozco - www.eiraworks.com
Tomado con muestra para fines academicos en la Universidad Interamericana de Panama - en la materia de Planeación y Gestión de Redes
Este documento proporciona una introducción a JDBC y las bases de datos relacionales. Explica conceptos clave como SQL, transacciones, procedimientos almacenados y metadatos. También presenta el producto MySQL como ejemplo de base de datos relacional de código abierto que se puede usar con Java a través de JDBC.
Este documento describe Java con bases de datos y el estándar JDBC. Explica los requisitos previos para trabajar con JDBC, sus objetivos e implementación. Detalla las clases principales de JDBC como DriverManager, Connection, Statement y ResultSet y provee ejemplos de cómo realizar consultas, inserciones y trabajar con diferentes bases de datos como MySQL.
Este documento es la documentación de referencia de Hibernate 3.5.6-Final. Proporciona una introducción a Hibernate a través de tutoriales y explica conceptos clave como la arquitectura, configuración, mapeo de objetos, asociaciones, herencia, transacciones y concurrencia. El documento está dirigido a desarrolladores Java que deseen implementar persistencia de objetos relacionales en sus aplicaciones.
El documento describe los pasos para instalar MySQL Workbench y el servidor MySQL en Windows. Primero se debe descargar e instalar MySQL Workbench. Luego, se descarga e instala el servidor MySQL Community Server. Finalmente, se configura el servidor MySQL y se crean cuentas de usuario antes de probar la conexión entre Workbench y el servidor.
Una introducción a los conceptos y las características básicas de la API de persistencia para la plataforma Java, desde un punto de vista neutral (sin una preferencia por algún proveedor de persistencia en particular) comenzando desde el planteo de la necesidad de un ORM, y pasando luego por conceptos básicos como las relaciones entre entidades, ciclo de vida de las mismas, JPQL, criteria API.
El documento describe cómo conectar una base de datos MySQL a una aplicación Java. Se explica la creación de una clase ConexionDB que establece la conexión y devuelve un objeto Connection. También se muestra el código de una clase Main que llama al método GetConnection de ConexionDB para comprobar que la conexión se realiza correctamente. Finalmente, se detallan los pasos para probar la conexión en NetBeans.
Este documento introduce Hibernate, un framework para mapear objetos a bases de datos relacionales. Explica los conceptos básicos de ORM y cómo configurar Hibernate para realizar consultas, crear y modificar datos, y establecer relaciones entre entidades. También cubre temas avanzados como herencia, generación de SQL y estrategias de caché.
El documento habla sobre excepciones y organización de paquetes en Java. Explica cómo se gestionan y capturan las excepciones, la jerarquía de excepciones, y cómo crear y lanzar excepciones personalizadas. También cubre la organización de clases en paquetes, incluyendo la creación, importación e inclusión de paquetes, y algunas consideraciones sobre paquetes como la visibilidad y resolución de ambigüedades.
El documento trata sobre excepciones en Java. Explica los tipos de excepciones (Error y Exception), la jerarquía de clases de excepciones predefinidas, cómo gestionar excepciones mediante bloques try-catch-finally, lanzar excepciones de forma explícita y definir excepciones propias. También cubre conceptos como propagación de excepciones, sobrecarga de métodos con excepciones distintas y ejemplos de uso.
Las excepciones en Java permiten atrapar y manejar errores en tiempo de ejecución como divisiones entre cero o ingreso de texto en lugar de números. Se usa un bloque try para rodear el código que puede generar excepciones, y bloques catch para especificar cómo manejar diferentes tipos de excepciones. Finalmente se puede usar un bloque finally para ejecutar código independientemente de si se lanza una excepción o no.
El documento habla sobre excepciones en Java. Las excepciones son errores conocidos como objetos. Cuando ocurre una excepción, se crea un objeto del tipo de excepción. Existen excepciones verificadas por el compilador y no verificadas. Para manejar excepciones se usa un bloque try-catch, donde try contiene el código que puede fallar y catch captura la excepción.
Este documento presenta un ejercicio sobre el uso de excepciones en Java para capturar errores de entrada de datos, como NumberFormatException e IOException. Se define un método try-catch dentro de un bucle while para forzar al usuario a reingresar los datos en caso de error, y se calcula el promedio de 10 calificaciones ingresadas.
El documento presenta un ejercicio de programación en Java que solicita el nombre y edad de un usuario e imprime su categoría (A, B o C según su edad) y edad dentro de una década. Explica cómo crear variables, leer entrada, usar bloques try-catch para manejar errores, e imprimir la salida esperada.
Este documento describe el manejo de excepciones en Java. Explica que una excepción ocurre cuando el flujo normal de un programa se interrumpe y crea un objeto con información sobre el error. También cubre cómo lanzar y atrapar excepciones, las ventajas de usar excepciones, y cómo crear excepciones personalizadas.
Unidad 9. acceso a base de datos desde javadevsco63
El documento habla sobre el acceso a bases de datos desde Java. Explica los estándares ODBC y JDBC para conectarse a bases de datos, el proceso de instalar el driver JDBC, establecer la conexión, enviar comandos SQL y crear bases de datos y tablas. También cubre cómo insertar y actualizar datos en las tablas.
Tema 15 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En una aplicación de dos capas, el cliente contiene la interfaz de usuario y lógica del negocio, mientras que el servidor contiene un administrador de bases de datos. La API JDBC de Java proporciona una forma estándar para que un cliente Java se comunique con diferentes administradores de bases de datos a través de un protocolo.
Este documento describe cómo acceder a bases de datos desde aplicaciones Java mediante la tecnología JDBC. Explica que JDBC proporciona una interfaz para enviar sentencias SQL a sistemas gestores de bases de datos y que la arquitectura de JDBC utiliza controladores específicos para cada base de datos. También resume los pasos para realizar una consulta SQL desde una aplicación Java usando JDBC, incluyendo la carga del controlador, la apertura de una conexión y la creación y ejecución de un objeto Statement.
Tema 9 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En Java, la API JDBC proporciona una interfaz estándar para que un cliente escrito en Java se comunique con administradores de bases de datos. La API JDBC consta de interfaces y clases que representan conexiones, sentencias SQL y resultados de consultas. Las aplicaciones de dos capas encapsulan esta funcionalidad en clases como Conexión y Tabla para establecer conexiones y ejecutar operaciones SQL de forma sencilla.
Este documento describe los pasos para crear una conexión a una base de datos Postgres utilizando JDBC, incluyendo identificar la base de datos, obtener el driver JDBC, configurar la variable CLASSPATH, importar java.sql, cargar el driver, obtener la conexión mediante DriverManager.getConnection(), utilizar la conexión para enviar consultas SQL y obtener resultados, y cerrar la conexión.
Este documento describe los pasos para crear una conexión a una base de datos Postgres utilizando JDBC, incluyendo identificar la base de datos, obtener el driver JDBC, configurar la variable CLASSPATH, importar java.sql, cargar el driver, obtener la conexión mediante DriverManager.getConnection(), y ejecutar consultas SQL.
El documento describe los contenidos de un curso sobre JDBC y URM. Incluye dos bloques: JDBC para el acceso a bases de datos, y URM para mapeadores de objetos relacionales. Detalla los conceptos clave de JDBC como drivers, operaciones con JDBC, y ejemplos de código para conectarse a una base de datos, enviar consultas y cerrar la conexión. También cubre procedimientos almacenados, transacciones y otras funcionalidades avanzadas de JDBC.
El documento habla sobre Java Database Connectivity (JDBC), una API que permite ejecutar operaciones sobre bases de datos desde Java de forma independiente al sistema operativo o base de datos. Explica los objetos Connection, Statement y ResultSet que JDBC provee para conectarse a una base de datos, enviar instrucciones SQL y acceder a los resultados, respectivamente.
El documento explica cómo conectar una aplicación Java Servlet a una base de datos usando JDBC. Primero se carga el driver de la base de datos, luego se establece la conexión mediante el método getConnection, indicando la cadena de conexión, el usuario y la contraseña. Finalmente, es importante cerrar la conexión después de usarla para liberar recursos.
El documento describe los contenidos de un curso sobre JDBC y URM. Incluye secciones sobre JDBC, operaciones con JDBC como cargar drivers, conectarse a una base de datos, enviar órdenes SQL, sentencias preparadas, procedimientos almacenados, transacciones y optimizaciones. También cubre temas de aplicaciones web como JSP, Servlets y el patrón DAO.
El documento describe los contenidos de un curso sobre JDBC y URM. Explica que JDBC se utiliza para el acceso a bases de datos y URM para mapeadores de objetos relacionales. Detalla los conceptos clave de JDBC como drivers, conexión a la base de datos mediante DriverManager, ejecución de sentencias SQL y uso de ResultSet.
El documento describe los contenidos de un curso sobre JDBC y URM. Incluye secciones sobre JDBC, operaciones con JDBC como cargar drivers, conectarse a una base de datos, enviar órdenes SQL, sentencias preparadas, procedimientos almacenados, transacciones y optimizaciones. También cubre temas de aplicaciones web como JSP, Servlets y el patrón DAO.
Este documento presenta información sobre conexiones JDBC a bases de datos, incluyendo cómo establecer conexiones, enviar sentencias SQL, realizar transacciones, configurar propiedades y niveles de aislamiento de transacciones. También proporciona ejemplos de código para establecer conexiones utilizando URLs JDBC y establecer propiedades de conexión.
ADO.NET permite acceder a bases de datos en .NET a través de proveedores administrados como SQL, OLEDB y ODBC. Los proveedores incluyen clases como SqlConnection, SqlCommand y SqlDataAdapter para conectarse a SQL Server, y cargar y actualizar datos en DataSets. El acceso a bases de datos se puede realizar de forma visual arrastrando tablas o mediante código creando manualmente los objetos necesarios.
El documento explica cómo conectarse a una base de datos en Java usando JDBC. Se necesita descargar un conector como mysql-connector-java.jar para conectarse al servidor de base de datos. Se crea un objeto Connection usando el método getConnection() y luego un objeto Statement usando el método createStatement() de Connection para ejecutar sentencias SQL. Es importante cerrar los objetos Connection y Statement cuando ya no se necesiten para liberar recursos.
El documento describe el API JDBC y cómo se puede usar para conectarse y acceder a bases de datos desde Java. JDBC soporta dos modelos de acceso a datos: de dos y tres capas. También explica los pasos para crear una conexión a una base de datos desde una aplicación Java usando JDBC, incluyendo importar paquetes, registrar el controlador y abrir la conexión.
El documento describe el API JDBC y cómo se puede usar para conectarse y acceder a bases de datos desde Java. JDBC soporta dos modelos de acceso a datos: de dos y tres capas. También explica los pasos para crear una conexión a una base de datos desde una aplicación Java usando JDBC, incluyendo importar paquetes, registrar el controlador y abrir la conexión.
Similar a 3. Curso Java JDBC (Bases de datos) - Curso 2005-2006 (20)
La Unidad Eudista de Espiritualidad se complace en poner a su disposición el siguiente Triduo Eudista, que tiene como propósito ofrecer tres breves meditaciones sobre Jesucristo Sumo y Eterno Sacerdote, el Sagrado Corazón de Jesús y el Inmaculado Corazón de María. En cada día encuentran una oración inicial, una meditación y una oración final.
ACERTIJO DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARÍS. Por JAVI...JAVIER SOLIS NOYOLA
El Mtro. JAVIER SOLIS NOYOLA crea y desarrolla el “DESCIFRANDO CÓDIGO DEL CANDADO DE LA TORRE EIFFEL EN PARIS”. Esta actividad de aprendizaje propone el reto de descubrir el la secuencia números para abrir un candado, el cual destaca la percepción geométrica y conceptual. La intención de esta actividad de aprendizaje lúdico es, promover los pensamientos lógico (convergente) y creativo (divergente o lateral), mediante modelos mentales de: atención, memoria, imaginación, percepción (Geométrica y conceptual), perspicacia, inferencia y viso-espacialidad. Didácticamente, ésta actividad de aprendizaje es transversal, y que integra áreas del conocimiento: matemático, Lenguaje, artístico y las neurociencias. Acertijo dedicado a los Juegos Olímpicos de París 2024.
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
1. Samuel Marrero Lorenzo -
smarlor@iespana.es 1
Acceso a base de datos con
Java desde aplicaciones web
con la tecnología JDBC
2. 2
Bases de Datos en
aplicaciones
Aplicación que procese información
base de datos.
Normalmente se utilizan bases de datos
relacionales.
SQL: Lenguaje estándar para acceder a
una base datos.
3. 3
Acceder a una base de datos
desde una aplicación
Cómo puede enviar una aplicación sentencias
SQL a una BD.
Interfaz procedural para ejecutar sentencias
SQL.
X/Open CLI (ISO 9075-3 “Call level
interface”).
ODBC es variante de Microsoft del X/Open
CLI (implementada en lenguaje C).
La filosofía de estas APIs es que permitan
acceder de la misma forma a distintas BD.
4. 4
JDBC
Es un interfaz orientado a objetos de
Java para SQL.
Se utiliza para enviar sentencias SQL a
un sistema gestor de BD (DBMS).
Con JDBC tenemos que continuar
escribiendo las sentencias SQL.
No añade ni quita potencia al SQL.
5. 5
Arquitectura JDBC
La filosofía de JDBC es proporcionar transparencia al
desarrollador frente al gestor de BD.
JDBC utiliza un Gestor de Controladores o
DriverManager que hace de interfaz con el
controlador específico de la BD.
SGBD
Oracle
SGBD
MySQL
Driver Manager de JDBC
Controlador
Oracle
BD
Controlador
JDBC-ODBC
Controlador
MySQL
Aplicación Java
BDBD Access
6. 6
Clases e interfaces JDBC
La especificación JDBC incluye 8 interfaces y
10 clases, en el paquete estándar java.sql.
Podemos dividirlos en los siguientes grupos:
Nucleo de JDBC, interfaces y clases que todos los
controladores deben implementar.
Extensiones al paquete java.lang, extensiones
para SQL.
Extensiones al paquete java.util, son extensiones
a java.util.Date.
Metadatos para SQL, permiten examinar
dinámicamente las propiedades de BD y
controladores.
7. 7
Núcleo de JDBC
Estos interfaces se utilizarán el 90% de las veces que
trabajemos con una BD.
Driver
<<Interface>>
Connection
<<Interface>>
Statement
<<Interface>>
ResultSet
<<Interface>>
DriverManager
DriverPropertyInfo
CallableStatement
<<Interface>>
PreparedStatement
<<Interface>>
ResultSetMetaData
<<Interface>>
8. 8
Invocar una consulta SQL
Vamos a estudiar un escenario en el que
realizaremos una consulta sobre una BD con
JDBC.
Mediante el seguimiento de un diagrama de
secuencia veremos las clases en
funcionamiento.
Cliente, representa a la aplicación Java donde
implementamos la consulta.
Un buen ejercicio sería ir escribiendo el
programa a la vez que vamos viendo cada
una de las fases.
9. 9
Configuración de la conexión
con base de datos
Antes de conectar con la base de datos
y trabajar con ella debemos tener en
cuenta dos cuestiones:
Registrar un controlador.
Convenciones de nombres para la base de
datos.
10. 10
Registrar un controlador (1)
Determinados controladores requerirán
la instalación y configuración de
software específico en el cliente.
Ejemplo: el origen ODBC o la fuente de
datos nativa.
Otros controladores son simplemente
una clase Java y bastará que la
máquina virtual de Java las pueda
localizar mediante el classpath.
11. 11
Registrar un controlador (2)
Para que la JVM pueda localizar una clase de
driver JDBC de Oracle, por ejemplo,
Situar la ruta a la clase en el CLASSPATH, o
Añadir un JAR externo en el proyecto de Eclipse
donde está nuestra aplicación
En el menú contextual del proyecto Eclipse
Propiedades Java Build Path Add External JARs
En el caso de Oracle añadir el fichero classes12.jar
Más adelante se explicará cómo configurar esto
para crear una asociación o pool de conexiones
12. 12
Registrar el controlador (3)
Averiguar el nombre de la clase provista por
el paquete a ser usado.
Localizar la clase en el directorio apropiado
para que pueda ser cargado.
Alternativamente se puede cargar la clase en
el programa usando el comando:
Class.forName(“sun.jdbcJdbcOdbcDriver”);
DriverManager.registerDriver(new
oracle.jdbc.driver.OracleDriver() ).
13. 13
Código fuente de carga/registro
del controlador de la BD
try
{
//Ejemplo para Oracle
DriverManager.registerDriver(new
oracle.jdbc.driver.Oracledriver());
//Ejemplo para MySQL
Class.forName("com.mysql.jdbc.Driver").newInstance();
}
catch (ClassNotFoundException e)
{
System.out.println("Error en la carga del driver
JDBC");
return;
}
15. 15
Abrir una conexión
La clase DriverManager es la responsable de:
seleccionar el driver
crear una nueva conexión a la base de datos
Previamente habremos registrado el controlador en el
DriverManager.
Crear una conexión:
Connection con =
DriverManager.getConnection(url,user,pass)
El parámetro imprescindible es la url de la base de datos; para
especificar la base de datos que queremos utilizar.
También se puede especificar el usuario y la clave con los que
nos queremos conectar a la base de datos.
El DriverManager buscará un driver, entre los registrados, que
pueda usar el protocolo especificado en la url
16. 16
Nombres para las BD en JDBC
En JDBC las bases de datos se designan
mediante una URL.
La forma de la url es la siguiente:
jdbc:<subprotocolo>:<dominio>
Subprotocolo: identifica el mecanismo de
conexión o el controlador JDBC concreto.
Dominio: Depende del subprotocolo, puede
ser simplemente un nombre simple para la
base de datos o una serie de parámetros que
permiten encontrar la BD.
18. 18
El objeto Connection
Si no se producen excepciones el método
getConnection nos devuelve un objeto que
implementa la interfaz Connection.
Podemos crear varias conexiones con
distintas bases de datos o incluso con la
misma.
Cada conexión representa una sesión con la
BD.
El objeto Connection nos permitirá acceder a
la base de datos para realizar operaciones
sobre ella y obtener resultados.
20. 20
Acceso a los datos
Utilizamos la conexión con la base de datos
creada anteriormente para enviar comandos
y sentencias SQL.
El objeto conexión funciona como un enlace
directo con el controlador de la BD.
Creamos un objeto de la clase Statement que
servirá de envoltorio para las sentencias SQL.
Cuando pasamos la SQL a la conexión este lo
envía al controlador que a su vez lo
redirecciona a la BD, que nos devolverá los
resultados.
21. 21
Objetos involucrados en el
acceso a datos (diagrama de
colaboración)
Programa
Java
Objeto Driver
JDBC BD
Base de
datos
Objeto
Connection
Objeto
Statement
SQL
Resultados
Objeto
ResultSet
22. 22
Código fuente de creación de
una sentencia de consulta
try
{
// Creamos el objeto sentencia
Statement stmt= con.createStatement();
[...]
}
catch (Exception e)
{
System.out.prinln(e);
}
23. 23
Creación del objeto Statement
La clase Connection tiene varios métodos que
permiten crear un objeto Statement o una de
sus variantes.
createStatement, para crear sentencias
simples.
prepareStatement, para sentencias que
pueden contener parámetros, optimiza la
utilización repetida de estas sentencias.
prepareCall.
25. 25
Ejecución de la sentencia
executeQuery(), ejecución de consultas,
sentencia SELECT.
executeUpdate(), actualizaciones de valores
en al base de datos. INSERT, UPDATE,
DELETE. Sólo devuelve la cuenta de las
columnas afectadas.
execute(), se usa para ejecutar sentencias
que no se conocen a priori o que devuelven
resultados no homogéneos.
26. 26
Código fuente de ejecución de
una sentencia
try
{
[...]
// Ejecutamos una sentencia SQL
ResultSet rs=
stmt.executeQuery("SELECT id, nombre," +
" , email, telefono" +
" FROM Contactos" +
" WHERE nombre LIKE '%pepe%'");
}
catch (SQLException e)
...
27. 27
:
DriverManager
Cliente
getConnection( )
:
Connection
createStatement( )
: Statement
executeQuery( )
: ResultSet
next( )
getInt( )
getString( )
getBigDecimal( )
Posicionar el cursor
en la siguiente fila
Recuperar valores
de las columnas.Repetir mientras
haya filas que
procesar. Recuperación valores
resultado
28. 28
Recuperación de datos
Cuando ejecutamos una consulta debemos
emplear el método executeQuery(), que
devuelve un objeto ResultSet, que nos
permitirá acceder a los resultados.
El ResultSet utiliza el concepto de cursor de
base de datos para ir moviéndose por las filas
de datos recuperadas.
Las columnas pueden accederse en cualquier
orden, utilizando su posición o su nombre.
El objeto ResultSet incluye métodos getXXX
que permiten recuperar valores de distintos
tipos.
29. 29
Código fuente de recuperación
de datos
...
while (rs.next())
{
// Se recupera cada columna por separado
String id= rs.getString(“id");
String nombre= rs.getDate(“nombre");
String email= rs.getInt(“email");
String telefono= rs.getDouble(“telefono");
// Operación que realizamos con cada fila
System.out.println(“Nombre: " + nombre + ", telefono:
" + telefono);
}
31. 31
Código fuente de liberación de
recursos de BD
try
{
[...]
// Liberamos objeto sentencia
stmt.close();
// Liberamos objeto conexión BD
con.close();
}
catch (SQLException e)
...
32. 32
Resumen proceso consulta
simple
Registrar controlador Class.forName.
Abrir conexión
DriverManager.getConnection.
Crea sentencia con.createStatement.
Ejecuta la sentencia stmt.executeQuery.
Procesar resultados while(rs.next()) ...
Cerrar sentencia y conexión close.
33. 33
Primer ejemplo de manejo de
conexión JDBC
El siguiente código muestra el acceso a una
base de datos y ejecución de consultas de
selección y acción a una base de datos
utilizando un driver JDBC
Código: c:javaJDBC1Bd.java
La recuperación de datos se realiza a la tabla
‘contactos’ de la base de datos ‘agenda’
conociendo previamente la estructura de la
tabla
Tabla ‘contactos’: id, nombre, ciud_id, email,
telefono
34. 34
Profundizando en la utilización
de JDBC
Manejo de las excepciones de SQL
Utilización de diferentes BD.
Ejecución de distintas sentencias SQL.
Sentencias preparadas.
Conjuntos de resultados.
Desplazamiento y actualización por
programa.
Metadatos.
35. 35
Manejo de las excepciones de
SQL
SQLException
Es la principal forma que tiene JDBC de informar de errores,
normalmente relacionadas con el acceso y recuperación de
datos.
Hereda de la clase Exception de java.lang.
Proporciona la siguiente información sobre el error:
Una cadena describiendo el error a la que se puede
acceder con el método getMessage().
La cadena de error SQLstate de acuerdo con el estándar
X/Open a la que se puede acceder con el método
getSQLState().
Un código de error entero específico de la BD que se
puede acceder con getErrorCode().
Permite acceder a más errores con getNextException().
36. 36
Manejo de los avisos de SQL
SQLWarning
Permite informar de errores leves en distintos objetos de la
BD: ResultSet, Statement, Connection.
Al contrario que SQLException no es obligatorio capturar los
SQLWarning.
Para obtener un SQLWarning se llama al método
getWarning() sobre el objeto.
Para obtener SQLWarning adicionales se llama a
getNextWarning().
DataTruncation
Informa de avisos de truncado de datos en las lecturas y al
escribir datos.
37. 37
Extensiones JDBC al paquete
java.lang
Amplían envoltorio Number para permitir albergar grandes números.
Crean clases Exception especializadas.
Number Exception
BigDecimal SQLException
SQLWarning
DataTruncation
38. 38
Utilización de diferentes BD
JDBC permite utilizar distintas bases de datos
sin cambiar el código o haciendo retoques
mínimos (normalmente parámetros de
conexión y, a veces, en las sentencias SQL)
Cambios que implica la utilización de una BD
diferente:
controlador,
url de la BD.
Otros posibles cambios.
39. 39
Tipos de controladores
JDBC es una especificación que establece dos
tipos de interfaces:
Interfaz de aplicación, que permite acceder a una
base de datos independientemente de su
fabricante.
Interfaz del controlador, al cual se deben adaptar
los desarrolladores de controladores.
Actualmente en el mercado existen gran
cantidad de controladores que varían en su
arquitectura. Sun ha clasificado estos
controladores en cuatro tipos.
http://industry.java.sun.com/products/jdbc/drivers
40. 40
Controlador Tipo 1
Puente JDBC-ODBC
Requieren que la máquina en la que corre la
aplicación tenga instalada la librería de la API
nativa (.dll)
Cliente
Servidor
Cliente
BD Java
JDBCODBC
Serv.
ODBC
BD
Protocolo ODBC
Serv.
ODBC
BDProtocolo ODBC
41. 41
Controlador Tipo 2
Controlador utilizando APIs nativas
Requieren que la máquina en la que corre la
aplicación tenga instalada la librería de la API nativa
(.dll)
Cliente
Servidor
Cliente
BD Java
JDBC
API
nativa
Serv.
nativo
BD
Protocolo nativo
42. 42
Controlador Tipo 3
Controlador JDBC-NET Java puro
Permite que la aplicación se conecte a varias
bases de datos
Cliente
Servidor
Cliente
BD Java
JDBC
Serv.
nativo
BD
BD
Serv.
JDBC
Serv.
nativo
Serv.
JDBC
Protocolo estándar
Protocolo estándar
43. 43
Controlador Tipo 4
Controlador Java puro y protocolo
nativo
En general el tipo más eficiente es el de
tipo 2
Cliente
Servidor
Cliente
BD Java
JDBC
Serv.
nativo
BD
Protocolo nativo
44. 44
Ejecución de distintas
sentencias SQL
Tipos de sentencias SQL:
Sentencias de definición de datos (DDL): CREATE
TABLE, CREATE INDEX.
Sentencias de manipulación de datos (DML):
INSERT, UPDATE, DELETE.
Sentencias de consulta: SELECT.
Cada tipo devuelve resultados distintos y
empleamos distintos métodos stmt.execute().
45. 45
Sentencias preparadas
Optimiza rendimiento en las sentencias que se
ejecutan repetidamente, por ejemplo la inserción de
varios contactos de clientes en la agenda en un bucle
Características:
Sentencias en las que no se ponen explícitamente
determinados valores.
Las sentencias escritas en el código por el programador son
más propensas a errores, éstas mejoran ese aspecto ya que
En éstas el formateo de los datos lo hace el driver
La base de datos sólo tiene que interpretar la sentencia la
primera vez.
Optimizan la ejecución.
46. 46
Código fuente de sentencias
preparadas
PreparedStatement pstmt= con.prepareStatement(
"INSERT INTO Contactos VALUES (CUJA.nextval,?,?,?)");
// Establece valores para cada uno de los parametros
pstmt.setString(1,“Pedro Rodríguez"); // Nombre
pstmt.setString(2,“pedro.rodriguez@laspalmasgc.es");//email
pstmt.setString(3,”928543424”); // Telefono
int insCount= pstmt.executeUpdate();
// Establece valores para cada uno de los parametros
pstmt.setString(1,“Nicolás Pérez"); // Nombre
pstmt.setString(2,“nico@hotmail.com"); // Email
pstmt.setString(3,“928246538"); // Teléfono
int insCount= pstmt.executeUpdate();
47. 47
Ejemplo de código usando
sentencias preparadas
El siguiente ejemplo es el código fuente
de una clase Java que utiliza JDBC con
sentencias preparadas para acceder a la
tabla ‘contactos’ de la base de datos
‘agenda’
Código: c:javaBDCliente.java
48. 48
Conjunto de resultados
desplazable
Recorrido básico del ResultSet: cursor
hacia delante, de fila en fila y desde la
primera fila next().
Podemos acceder a las filas del
ResultSet de más formas (JDBC 2.0),
como un índice de un array.
49. 49
Creación de la sentencia para
Resultset desplazable
Cambio en la creación del objeto sentencia:
createStatement(int tipoResultSet,
int concurrenciaResultSet)
tipoResultSet es el que permite flexibilidad en el
desplazamiento.
Valores:
TYPE_FORWARD_ONLY, sólo hacia delante
TYPE_SCROLL_INSENSITIVE,
TYPE_SCROLL_SENSITIVE, métodos de
posicionamiento habilitados
50. 50
Métodos de desplazamiento
del cursor
Métodos
Movimiento hacia atrás: afterLast(),
previous().
Posicionamiento absoluto: first(), last(),
absolute(numFila).
Posicionamiento relativo: relative(num).
Recupera fila actual: getRow().
51. 51
Conjunto de resultados
actualizable
Para actualizar datos en la BD teníamos
que recurrir a sentencias SQL: INSERT,
UPDATE, DELETE.
Podemos realizar actualizaciones por
programa (JDBC 2.0).
52. 52
Creación de la sentencia para
Resultset actualizable
Cambio en la creación del objeto sentencia:
createStatement(int tipoResultSet,
int concurrenciaResultSet)
concurrenciaResultSet es el que permite
actualizar ResultSet por programa.
Valores:
CONCUR_READ_ONLY, no se puede actualizar.
CONCUR_UPDATABLE, permite la utilización de
métodos para modificar filas.
53. 53
Métodos para actualizar filas
Posicionarse en la fila para actualizar.
Llamar a los métodos de actualización
de campos:
updateXXX(<campo>,<valor>)
Para confirmar las actualizaciones sobre
la tabla llamamos a: updateRow().
54. 54
Insertando y borrando por
programa
Métodos para insertar filas sin utilizar
SQL:
moveToInsertRow(), mueve a fila vacía.
updateXXX(<campo>,<valor>) sobre cada
campo de la nueva fila.
insertRow(), confirma inserción.
Método para borrar filas sin utilizar SQL:
Posicionarnos sobre la fila a borrar.
deleteRow().
55. 55
Información acerca de la base
de datos (Metadatos)
Cuando a priori no tenemos información
sobre la estructura de la base de datos
podemos acceder a ella mediante los
metadatos.
Esto permite adaptar el acceso que está
realizando nuestra aplicación a una BD
concreta en tiempo de ejecución.
Objeto Connection al que aplicamos el
método getMetaData(), que devuelve un
objeto que implementa la interfaz
DatabaseMetaData.
56. 56
Metadatos para SQL
Types simplemente contiene constantes con los tipos de datos.
DatabaseMetadata, proporciona información sobre la BD.
Object
DatabaseMetaData
<<Interface>>
Types
57. 57
Información sobre el resultado
de una consulta
Muchas veces no conocemos lo que va a
devolver una consulta: SELECT * FROM
Contactos.
JDBC permite obtener un objeto que
implementa ResultSetMetaData al aplicar el
método getMetada() a un objeto ResultSet.
De esta forma podemos obtener datos como
número de columnas devueltas y el nombre
de una determinada columna.
Esto permite la ejecución y recuperación de
resultados de forma dinámica.
58. 58
Código fuente de recuperación
de metadatos
ResultSet rs = stmt.executeQuery(sqlStr);
ResultSetMetaData rsmd= rs.getMetaData();
int columnCount= rsmd.getColumnCount();
// Vamos imprimiendo los nombres de cada columna
for(int x =1;x<=columnCount;x++)
{
String columnName= rsmd.getColumnName(x);
System.out.print(columnName +"t");
}
...
59. 59
Código fuente de recuperación
de metadatos (cont.)
// Recorremos filas e imprimimos los valores de cada
columna
while(rs.next())
{
for(int x =1;x<=columnCount;x++)
{
if (rsmd.getColumnTypeName(x).compareTo("CURRENCY")
== 0)
System.out.print("$");
String resultStr = rs.getString(x);
System.out.print(resultStr +"t");
}
}
...
60. 60
Ejemplo de uso de metadatos
El siguiente código muestra el acceso a una
base de datos y ejecución de consultas de
selección y acción a una base de datos
utilizando un driver JDBC
Código: c:javaJDBC2Bd.java
La recuperación de datos se realiza
cualquiera de las tablas de la base de datos
‘agenda’ no conociendo previamente la
estructura de la tabla
61. 61
Manejo de transacciones
Hay veces que no queremos que una sentencia tenga
efecto a menos que otra también suceda.
Por ejemplo en una operación en la que hay que
actualizar campos de varias tablas, en diferentes
acciones SQL, no se querrá actualizar una sin
actualizar la otra; de otro modo, los datos serían
inconsistentes.
La forma para asegurarnos que ocurren las dos
acciones o que no ocurre ninguna es utilizar una
transación. Una transación es un conjunto de una o
más sentencias que se ejecutan como una unidad,
por eso o se ejecutan todas o no se ejecuta ninguna.
62. 62
Manejo de transacciones (2)
Cuando se crea una conexión, está en modo auto-
entrega.
Esto significa que cada sentencia SQL individual es
tratada como una transación y será automáticamente
entregada justo después de ser ejecutada.
La forma de permitir que dos o más sentencia sean
agrupadas en una transación es desactivar el modo
auto-entrega. Esto se demuestra en el siguiente
código, donde con es una conexión activa.
con.setAutoCommit(false);
63. 63
Manejo de transacciones (3)
Es el tratamiento conjunto de sentencias SQL.
Operaciones básicas:
COMMIT: realizar la acción
ROLLBACK: volver al paso anterior, revocar la
acción
Métodos para el tratamiento de
transacciones, sobre el objeto conección:
commit(), roollback() y setAutoCommit().
64. 64
Código de ejemplo de manejo
de una transacción
con.setAutoCommit(false); Iniciamos la transacción
PreparedStatement psProd = con.prepareStatement( "UPDATE Productos
SET precio = ? WHERE nombreProducto LIKE ?");
psProd.setInt(1, 500);
psProd.setString(2, “Caja 10 cd’s");
psProd.executeUpdate(); Todavia no se ejecuta
PreparedStatement psInv = con.prepareStatement( "UPDATE Inventario
SET valorTotal = cantidad * ? WHERE Producto LIKE ?");
psInv.setInt(1, 500);
psInv.setString(2, "Caja 10 cd’s");
psInv.executeUpdate();
con.commit(); Se ejecutan las dos acciones
con.setAutoCommit(true); Volvemos al modo auto-entrega
66. 66
Acceso a base de datos desde
Servlets
La mayoría de las aplicaciones
comerciales basadas en servlets utilizan
bases de datos.
El acceso a base de datos desde un
servlet es igual al que se puede realizar
desde cualquier aplicación java.
Se utiliza la tecnología JDBC de Java.
67. 67
JDBC en un Servlet
Para emplear JDBC en un Servlet
simplemente hay que incluir los paquetes de
java adecuados.
Debemos tener en cuenta los distintos tipos
de controladores JDBC y cual nos interesa
emplear, como en otros entornos.
Se utilizan exactamente las mismas interfaces
y las mismas clases para conectarnos y
extraer información de la base de datos que
en cualquier otra aplicación Java.
68. 68
Escenario común servlets y BD
Vamos a representar un escenario común en
cualquier aplicación que utiliza servlets y BD.
Tenemos un formulario HTML en el que el
usuario introduce datos, en la tabla
‘contactos’.
Con los datos del formulario construimos una
consulta que realizamos sobre la BD.
Los resultados se los devolvemos al usuario
en otra página HTML.
69. 69
Conexión a la base de datos
Respecto al rendimiento, el mayor
cuello de botella se produce al crear un
objeto Connection para conectarnos a la
BD.
Debemos evitar tener que hacerlo
repetidamente.
Código de creación de la conexión con la BD en la
inicialización del servlet que se produce sólo una vez
método init().
El código de cierre de la conexión se realiza en el método
destroy() del servlet
70. 70
Recuperar datos del
formulario de consulta
Una vez conectados, el resto del código
de acceso a BD estará en los métodos
doGet() o doPost().
Recuperamos los valores de los campos
que ha introducido en el formulario que
lanza la consulta.
71. 71
Construcción de la consulta
Construiremos la cadena que constituye
la sentencia SQL que posteriormente
ejecutaremos contra la base de datos.
Normalmente habrá una parte fija que
no varía y unos parámetros que
crearemos a partir de la información del
formulario.
72. 72
Ejecución de la consulta y
devolución de resultados
Una vez construida la consulta, la
enviamos a la BD para su ejecución.
Si existe algún problema debemos
devolver un error al usuario.
Si la ejecución fue correcta debemos
devolver los resultados de la ejecución.
73. 73
Cierre de la conexión
Debemos asegurarnos que en el
método destroy() del servlet se cierren
todas las conexiones.
El recolector de basura podrá liberar
todos los recursos.
74. 74
Resumen de acceso y manejo de una
conexión a BD desde un servlet
Conexión con la BD.
Recuperar parámetros del formulario de
consulta.
Construir la sentencia.
Ejecución de la consulta y devolución
de resultados.
Cierre de la conexión.
75. 75
Ejemplo de manejo de
conexión de BD en un servlet
El siguiente ejemplo implementa una
búsqueda de datos en la tabla
‘contactos’ de la base de datos ‘agenda’
por cualquier criterio.
Código: c:javaServlet3.java
76. 76
Ejemplo de pequeña
aplicación web
En el siguiente ejemplo se implementa una pequeña aplicación web
que permite: insertar, mostrar y eliminar registros de la tabla
‘contactos’
Código:
InsertarCliente: servlet que inserta el contacto y envía el resultado de la
acción
c:javaServlet4-JDBC-ClientesClientesWEB-INFsrcInsertarCliente.java
EliminarCliente: servlet que elimina el contacto del cliente y envía el
resultado de la acción
c:javaServlet4-JDBC-ClientesClientesWEB-INFsrcEliminarCliente.java
VerCliente: servlet que muestra los datos del contacto del cliente
c:javaServlet4-JDBC-ClientesClientesWEB-INFsrcVerCliente.java
MostrarClientes: servlet que muestra todos los contactos de clientes de la
tabla ‘contactos’
c:javaServlet4-JDBC-ClientesClientesWEB-INFsrcMostrarClientes.java
77. 77
Sentencias preparadas en la
construcción de sentencias
Principal uso de las sentencias preparadas:
mejorar rendimiento.
También permiten evitar errores sintácticos
en la construcción de la sentencia SQL en el
servlet.
El usuario podría meter caracteres reservados
(ej.: ’) en el parámetro.
El uso de setString() evita la confusión del
analizador de sentencias de la BD.
78. 78
Asociaciones de conexiones
La creación y destrucción de conexiones es un proceso costoso,
en consultas pequeñas, nos podemos tardar más en abrir una
conexión, que en ejecutar la propia consulta.
En el caso de los servlets, como hemos visto, la conexión a la
base de datos se mantiene abierta de acuerdo al tiempo y ciclo
de vida del servlet, y esto puede afectar la eficiencia y la
escalabilidad, debido al gran número de conexiones abiertas
durante mucho tiempo, muchas de las cuales no se estarán
usando en determinados momentos.
Además, las variables de instancia Connection y Statement no
son seguras en modo multi-thread, y el servlet debe
implementar el SingleThreadModel, lo cual degrada la eficiencia
y la escalabilidad del servlet.
Para corregir este tipo de problemas, debemos usar lo que se
conoce como asociación de conexiones o pool de
conexiones(connection pooling).
79. 79
Asociaciones de conexiones
(2)
La asociación de conexiones es una técnica que se
utiliza para que una aplicación pueda reusar las
conexiones que ya han sido establecidas en lugar de
crear nuevas conexiones cada vez.
Esta técnica está basada en el hecho de que la
mayoría de las aplicaciones solo necesita tener
acceso a una conexión JDBC cuando se está
procesando una consulta, lo cual toma sólo algunos
milisegundos en completarse.
En las aplicaciones que se conectan continuamente a
una misma base de datos tiene mucho sentido volver
a reciclar las conexiones que ya están abiertas y que
no se están utilizando
Mejora la eficiencia
80. 80
Creación de asociaciones de
conexiones
Para ello usamos una fuente JDBC
representado en la interfaz DataSource
Utilizar la interface DataSource en vez de
DriverManager es mejor por dos razones
importantes, se hace el código más portable y
más fácil de mantener.
La información relativa a la seguridad,
nombres y contraseñas, son almacenados en
ficheros de configuración y no en el código.
81. 81
Creación de asociaciones de
conexiones (2)
DataSource es referenciado usando la
interfaz JNDI
JNDI es un servicio de nombres y
directorios
JNDI proporciona una manera uniforme
para que una aplicación pueda acceder
a servicios remotos sobre una red,
como una base de datos.
82. 82
Pasos para la creación de
asociaciones de conexiones (3)
Definir una referencia a un recurso dentro de
nuestro archivo descriptor de despliegue de la
aplicación web (web.xml).
Establecer la relación entre la referencia al
recurso y una referencia real para el contexto
de nuestra aplicación.
A continuación se comentan todos los pasos
83. 83
Definir una referencia a un
recurso: web.xml
web.xml: añadir este fragmento al
final, antes de la etiqueta </web-
app>. Esto indica que se va a usar un
recurso referenciado como dsAgenda
<resource-ref>
<res-ref-name> jdbc/dsAgenda </res-ref-name>
<res-type> javax.sql.DataSource </res-type>
<res-auth> Container </res-auth>
</resource-ref>
84. 84
Definición del recurso en el
servidor de aplicaciones (Tomcat)
server.xml: añadir algo parecido a esto entre las
etiquetas <host> del server.xml
<Context path="/Servlet5-JDBC-CliPool" docBase="/Servlet5-
JDBC-CliPool/CliPool" debug="0">
<Resource name="jdbc/dsAgenda"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/dsAgenda">
…
85. 85
Definición del recurso en el servidor
de aplicaciones (Tomcat) (2)
<!– Número máximo de conexiones BD en la asociación. -->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!– Número máximo de conexiones ociosas en la asociación.
Poner a -1 para ningún límite. -->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
86. 86
Definición del recurso en el servidor
de aplicaciones (Tomcat) (3)
<!– Tiempo de espera máximo para que una conexion esté disponible. En este caso
10 segundos. Poner a -1 para esperar indefinidamente-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!– Nombres de usuario y password para la conexión a la BD -->
<parameter>
<name>username</name>
<value>curso_java</value>
</parameter>
<parameter>
<name>password</name>
<value>curso_java</value>
</parameter>
87. 87
Definición del recurso en el servidor
de aplicaciones (Tomcat) (4)
<!– Nombre de la clase del driver -->
<parameter>
<name>driverClassName</name>
<!-- <value>com.mysql.jdbc.Driver</value> -- > Para MySQL
<value>oracle.jdbc.driver.OracleDriver</value> Para Oracle
</parameter>
<!– La url para conectar con la BD. El autoReconnect=true asegura que se reconectará
automáticamente si la BD cierra la conexion -->
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost:3306/agenda</value> Para MySQL
value>jdbc:oracle:thin:@10.1.1.36:1521:DESA</value> Para Oracle
</parameter>
</ResourceParams>
</Context>
Si se define este recurso en la etiqueta <DefaultContext> el recurso estará
disponible para todas las aplicaciones que corran en el servidor
88. 88
Crear un pool de conexiones
Copiar el driver JDBC de la base de
datos en el directorio
TOMCAT_HOMEcommonlib
Esto hace que el driver esté disponible
para Tomcat
Reiniciar Tomcat
89. 89
Acceder a la base de datos a través
de una asociación de conexiones
El siguiente código muestra como recuperar el objeto
DataSource asociado con el nombre jdbc/dsAgenda para
entonces establecer una conexión a la base de datos.
Las tres primeras líneas usan el API JNDI para obtener el objeto
DataSource, la última línea usa el API JDBC para establecer la
conexión.
Context init = new InitialContext();
Context context = (Context) init.lookup("java:comp/env");
DataSource ds = (DataSource) context.lookup("jdbc/dsAgenda");
Connection con = ds.getConnection();
El objeto ‘con’ de conexión es idéntico a los anteriores y ya
podemos utilizar la conexión con la BD
90. 90
Ejemplo de uso de una asociación
de conexiones con servlets
En el siguiente ejemplo se implementa una pequeña aplicación web
que permite: insertar, mostrar y eliminar registros de la tabla
‘contactos’
Código:
FormInsertarCliente: servlet de entrada que envía un formulario al cliente
para insertar un nuevo contacto
c:javaServlet5-JDBC-CliPoolCliPoolWEB-INFsrcFormInsertarCliente.java
InsertarCliente: servlet que inserta el contacto y envía el resultado de la
acción
c:javaServlet5-JDBC-CliPoolCliPoolWEB-INFsrcInsertarCliente.java
EliminarCliente: servlet que elimina el contacto del cliente y envía el
resultado de la acción
c:javaServlet5-JDBC-CliPoolCliPoolWEB-INFsrcEliminarCliente.java
VerCliente: servlet que muestra los datos del contacto del cliente
c:javaServlet5-JDBC-CliPoolCliPoolWEB-INFsrcVerCliente.java
MostrarClientes: servlet que muestra todos los contactos de clientes de la
tabla ‘contactos’
c:javaServlet5-JDBC-CliPoolCliPoolWEB-INFsrcMostrarClientes.java