• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
[ES] Conectividad de java a base  de datos(jdbc)
 

[ES] Conectividad de java a base de datos(jdbc)

on

  • 3,429 views

Enseñar los conceptos fundamentales de conectividad de la plataforma Java a Base de Datos, mediante el uso del Java Database Connectivity API (JDBC).

Enseñar los conceptos fundamentales de conectividad de la plataforma Java a Base de Datos, mediante el uso del Java Database Connectivity API (JDBC).

Statistics

Views

Total Views
3,429
Views on SlideShare
3,428
Embed Views
1

Actions

Likes
1
Downloads
59
Comments
0

1 Embed 1

http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    [ES] Conectividad de java a base  de datos(jdbc) [ES] Conectividad de java a base de datos(jdbc) Presentation Transcript

    • Lets Rock JavaFundamentos de Java Enterprise Editioncon JDeveloperEudris Cabrera RodriguezIngeniero TelemáticoSenior Software DeveloperSkype:eudriscabreraLinkedIn:http://www.linkedin.com/in/eudriscabreraNoviembre 2011, Santiago de los Caballeros, R. D.
    • ObjetivosAprender los conceptos fundamentales de conectividad de laplataforma Java a Base de Datos, mediante el uso del Java DatabaseConnectivity API (JDBC).
    • Agenda ○ Conectividad de Java a Base de Datos(JDBC) ■ Introducción a JDBC. ■ Selección y Configuración del Driver. ■ Creando una Conexión. ■ Uso de Statements y ResultSets. ○ Realizar ejemplos de aplicaciones web interactuando con la base de datos.
    • Conectividad de Java a Base de Datos(JDBC)Introducción a JDBC:Java Database Connectivity, más conocida por sus siglasJDBC, es una API que permite la ejecución de operacionessobre bases de datos desde el lenguaje de programaciónJava, independientemente del sistema operativo donde seejecute o de la base de datos a la cual se accede, utilizandoel dialecto SQL del modelo de base de datos que se utilice.El API JDBC se presenta como una colección de interfacesJava y métodos de gestión de manejadores de conexiónhacia cada modelo específico de base de datos.
    • Conectividad de Java a Base de Datos(JDBC)Un manejador de conexiones hacia un modelo de base de datos enparticular es un conjunto de clases que implementan las interfacesJava y que utilizan los métodos de registro para declarar los tipos delocalizadores a base de datos (URL) que pueden manejar.Para utilizar una base de datos particular, el usuario ejecuta suprograma junto con la biblioteca de conexión apropiada al modelode su base de datos, y accede a ella estableciendo una conexión, paraello provee el localizador a la base de datos y los parámetros deconexión específicos.
    • Conectividad de Java a Base de Datos(JDBC)Un manejador de conexiones hacia un modelo de base de datos enparticular es un conjunto de clases que implementan las interfacesJava y que utilizan los métodos de registro para declarar los tipos delocalizadores a base de datos (URL) que pueden manejar.Para utilizar una base de datos particular, el usuario ejecuta suprograma junto con la biblioteca de conexión apropiada al modelode su base de datos, y accede a ella estableciendo una conexión, paraello provee el localizador a la base de datos y los parámetros deconexión específicos.
    • Conectividad de Java a Base de Datos(JDBC)A partir de allí puede realizar con cualquier tipo de tareas con labase de datos a las que tenga permiso: consulta, actualización,creación, modificación y borrado de tablas, ejecución deprocedimientos almacenados en la base de datos, etc.
    • Conectividad de Java a Base de Datos(JDBC)ARQUITECTURA JDBC
    • Conectividad de Java a Base de Datos(JDBC)JDBC-ODBC Bridge plus ODBC Driver
    • Selección y Configuración del DriverClass.forName("Nombre del driver"); Con esta instrucción cargamos el driver de conexión a la base dedatos en MySQL. El driver debe de ser incluido con el classpathpara poder ser usado en el proyecto.// Carga dinámica del driverClass.forName("jdbc.DriverASCII")
    • Creando una ConexiónLuego de cargar el Driver, es necesario crear la conexión a la basede datos.Para ello usamos el método getConnection de la claseDriverManager (que implementa la clase Driver).A dicho método le pasamos como parámetro una URL de conexióna la base de datos, que se compone, por lo general, de tres partesseparados por ":", jdbc:nombre_dbms:datos_de_conexion.Aunque esto depende del tipo de DMBS y conector que usemos.(Para más detalles de la URL, ver la documentación específica parael conector).
    • Creando una ConexiónEste método además, devuelve un objeto Connection que usaremospara crear y ejecutar sentencias SQL, sobre la base de datos.DriverManager static Connection getConnection( String especBD, String nombreUsuario, String clave)
    • LETS CODE !!!
    • Uso de Statements y ResultSets createStatement(): este método crea/devuelve un objeto Statement, con el cual podremos ejecutar sentencias en la base de datos. Statement void executeUpdate(String SQLupdateExpr) ResultSet executeQuery(String SQLqueryExpr) ExecuteQuery(): este método sirve para ejecutar consultas sobre la base de datos (para inserción y modificación de datos usar executeUpdate()). Recibe como parametro una sentencia SQL, y devuelve un objeto ResultSet que contendrá los datos de la consulta.
    • Uso de Statements y ResultSets ResultSet // Representa un conjunto de registros // que se pueden modificar iterativamente Bool next() String getString(String nombreColumna) Float getFloat (String nombreColumna)
    • Excepciones generadas por JDBC Las excepciones que manejamos son básicamente: ClassNotFoundException, que se lanzará por lo general cuando el programa no encuentre el Driver. SQLException, que se lanzará cuando hayan errores a nivel de SQL (errores al insertar datos, errores de sintaxis en las consultas, etc.).
    • Uso básico de JDBC II Statement stmt = con.createStatement(); stmt.executeUpdate( “CREATE TABLE CUENTA (...)”); stmt.executeUpdate(“INSERT INTO CUENTA (...)” + “VALUES (...)”); stmt.executeUpdate(“UPDATE CUENTA ...”); stmt.executeUpdate( “DELETE FROM CUENTA ...”); ResultSet rs = stmt.executeQuery( “SELECT ... FROM CUENTA, ...”); while(rs.next()) { String nombre = rs.getString(“nombre”); Integer dni = rs.getInteger(“dniCliente”); Integer cc = rs.getInteger(“numCuenta”); Integer s = rs.getInteger(“saldo”); System.out.println( nombre + “” + dni + “” + cc + “” + s); }
    • Uso básico de JDBC ClassforName(“jdbc.DriverASCII”); Connection con = DriverManager.getConnection( “jdbc:odbc:cuentas”, “rmoriyon”, “cursofse”);
    • JDBC: Transacciones con.setAutoCommit(false); stmt.execute... if (s > 1000) con.commit(); else con.rollBack();
    • LETS CODE !!! Hell yeah !.● Servlet Demo● JSP Demo● Servlet + JSP
    • Cuando usar servlets y cuando usar páginas JSP ?.La pregunta es lógica, al fin y al cabo ambos mecanismospermiten generar contenidos dinámicos y además las JSPson servlets generados por el servidor de aplicaciones.La norma es que la mayor parte de las interacciones con elusuario se realizarán en las JSP debido a su flexibilidad, yaque integran de forma natural etiquetas HTML, XML, JSF,etc.Los servlets serán la excepción (un ejemplo típico es usar unservlet como controlador (un controlador recibe peticiones oeventos desde el interfaz de cliente y "sabe" elcomponente que debe invocar).
    • Diversos escenarios de aplicación de la arquitectura JEEEscenario basado en la web (web-centric application):La plataforma JEE no obliga a usar en un sistema todas lascapas. Lo esencial es escoger el mecanismo adecuado parael problema.En este sentido, en ocasiones no hay (ni prevemos que haya)la complejidad como para requerir una capa EJB.Se denomina escenario web-centric porque el contenedorweb es el que realiza gran parte del trabajo del sistema
    • Diversos escenarios de aplicación de la arquitectura JEEEscenario basado en la web (web-centric application):
    • Diversos escenarios de aplicación de la arquitectura JEEEscenario basado en la web (web-centric application):En este tipo de escenario la capa web implica tanto lógica depresentación como lógica de negocio. Pero lo deseable es nomezclar todas las cosas, planteando un diseño limpio ymodular.Para ello las JSP y servlets no suelen acceder de formadirecta a la base de datos, sino que lo hacen por medio de unservicio de acceso a datos.
    • Diversos escenarios de aplicación de la arquitectura JEEEscenario basado en la web (web-centric application): El escenario web-centric es el más ampliamente utilizado actualmente.
    • Nota sobre MVCEs muy usual utilizar el patrón MVC(Model View Controller )como patrón arquitectónico.En este patrón el modelo representa los datos y las reglas denegocio que determinan el acceso y modificación de losdatos.La vista traduce los contenidos del modelo a un o unosmodos de presentación.Cuando el modelo cambia, es responsabilidad de la vistamantener la consistencia de la presentación.
    • Nota sobre MVCEl controlador define el comportamiento de la aplicación, esdecir, asocia (map) las peticiones del usuario (captadas porbotones, ítems de menú, etc.) con acciones realizadas porcomponentes del modelo.En una aplicación web las peticiones aparecen comopeticiones HTTP que usan normalmente el método POST oGET para invocar a la capa web.El controlador es el responsable de seleccionar la vista quedebe responder a la petición realizada por el usuario.
    • Nota sobre MVCEn el escenario web-centric que en bastantes ocasiones lasaplicaciones no requieren acceder a múltiplessistemas empresariales, es decir, la capa de lógica denegocio no requiere fuerte conectividad distribuida consistemas empresariales.No se contemplan EJBs, pero esto no significa quedesaparezcan los componentes del modelo, sino que losservicios del modelo se implementan en JavaBeans (noEnterprise JavaBeans) para ser utilizados por Servlets/JSPdentro de la capa web
    • Nota sobre MVC
    • Nota sobre MVCEn una aplicación centrada en la capa Web sigue existiendo,aunque sea ligera, un modelo, que contiene entidades yreglas de negocio; es decir, el que no sean necesarios losEJB no implica no modularizar, mezclarlo todo y eliminarlos componentes del modelo.Nota: La especificación JEE no considera comocomponentes JEE a los Java Beans ya que son diferentes delos EJB (no confundirlos).La arquitectura de componentes JavaBeans se puedenutilizar tanto en la capa de cliente como de servidor,mientras que los componentes Enterprise JavaBeans sólo seutilizan en la capa de negocio como parte de los servicios delservidor.
    • LETS CODE !!!MVC DEMO
    • PREGUNTAS ?
    • WE ROCK JAVA !!!