SlideShare a Scribd company logo
1 of 13
Java Modulo 2: JDBC M. en Ing. Leonardo M. Moreno Villalba
Que es JDBC Es un especificación formada por una colección de interfaces y clases abstractas, que deben implementar todos los fabricantes de drivers que quieran realizar una implementación de su driver 100% Java y compatible con JDBC (JDBC-compliantdriver).
El API JDBC hace posible la realización de las siguientes tareas: 1. Establecer una conexión con una base de datos. 2. Enviar sentencias SQL. 3. Manipular los datos. 4. Procesar los resultados de la ejecución de las sentencias.
Capas que Componen JDBC El API JDBC que es el conjunto de clases que utiliza el programador. Dentro de este API tenemos el administrador de controladores (Driver Manager) que recibe las peticiones del programa Java y comunica con el controlador seleccionado, de manera transparente para el programador. El controlador recibe las órdenes y las traduce a órdenes directas al gestor de base de datos.
Tipos de Drivers en JDBC Tipo 1 JDBC-ODBC El puente JDBC-ODBC convierte llamadas JBDC a ODBC, asignando todo el trabajo a ODBC. Los drivers de este tipo requieren que también un ODBC driver sea instalado en cada cliente con sus propias librerías (APIS), siendo esta una desventaja, además de ser algo lento en los accesos a las bases de datos.
Tipos de Drivers en JDBC Tipo 2 Java Nativo Este tipo de controlador se conoce como API nativas, el controlador contiene código java por medio del cual se realizan las llamadas a los métodos nativos de la base de datos ya sea en C o C++ que son los encargados del acceso a la base de datos. En ocasiones es necesario instalar un software cliente para utilizar este tipo de controlador.
Tipos de Drivers en JDBC Tipo 3 100% Java - Protocolo Nativo Los controladores de este tipo son llamados drivers de protocolo de red y convierten llamadas JDBC a un protocolo de base independiente que traduce el protocolo de red en el protocolo nativo correcto de la base de datos. Estos controladores JDBC se comunican con la aplicación intermedia en el servidor que trasladan las peticiones del programa cliente a una API especifica del controlador. Ofrece la posibilidad de no instalar ningún software en el cliente. Este controlador está diseñado 100% en Java y utiliza el protocolo nativo de red para comunicarse con el SGBD (Sistema de Gestión de Bases de Datos), por tanto, se independiza totalmente de la plataforma.
Tipos de Drivers en JDBC Tipo 4 100% Java-Protocolo Independiente Estos drivers no requieren un software especial para ser instalado en el cliente. Utilizan protocolos de red que están incluidos en el SGBD (Sistema de Gestión de Bases de Datos), por lo tanto los controladores se comunican de manera directa con la base de datos. Se encuentra escrito totalmente en java y son provistos por el fabricante del SGBD. Es el controlador más independiente de la plataforma de los cuatro vistos. Este controlador traduce las ordenes JDBC directamente al protocolo de red que implementa o emplea el SGBD.
Interfaces de JDBC JDBC define ocho interfaces para operaciones con bases de datos, de las que se derivan las clases correspondientes. La figura siguiente, muestra la interrelación entre estas clases según el modelo de objetos de la especificación de JDBC.
Tabla de Descripción de las interfaces y clases de JDBC
Ejemplo básico de conexión 1 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.SQLException; publicclassMain { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa.");         // Se carga el driver JDBC-ODBC         try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente");         } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC.");              }         try {             // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access "+ conn.getCatalog()+".mdb Correctamente" );         } catch (SQLException e) {         }     } }
Ejemplo básico de conexión 2 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; publicclass EjemplBásicoConexión2 { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa.");         // Se carga el driver JDBC-ODBC         try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente");         } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC.");            }         try {             // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access " + conn.getCatalog() + ".mdb Correctamente"); System.out.println("Esta base de Datos tiene las siguientes Tablas:"); ResultSetrs = conn.getMetaData().getTables(null, null, "%", null); while (rs.next()) { System.out.println(rs.getString(3));             }         } catch (SQLException e) {         }     } }
Ejemplo básico de conexión 3 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.SQLException; publicclass EjemploBasicoConexion3 { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa.");         // Se carga el driver JDBC-ODBC         try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente");         } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC."); return;         }         try {             // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access "+ conn.getCatalog()+".mdb Correctamente" ); conn.close(); System.out.println("Se ha cerrado la conexion a la base correctamente");         } catch (SQLException e) {         }     } }

More Related Content

What's hot (18)

JDBC
JDBCJDBC
JDBC
 
Java y Base de Datos
Java y Base de DatosJava y Base de Datos
Java y Base de Datos
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Bases de Datos en en www.fiec.espol.edu.ec
Bases de Datos en  en www.fiec.espol.edu.ecBases de Datos en  en www.fiec.espol.edu.ec
Bases de Datos en en www.fiec.espol.edu.ec
 
[ES] Conectividad de java a base de datos(jdbc)
[ES] Conectividad de java a base  de datos(jdbc)[ES] Conectividad de java a base  de datos(jdbc)
[ES] Conectividad de java a base de datos(jdbc)
 
JDBC
JDBCJDBC
JDBC
 
JDBC
JDBCJDBC
JDBC
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 

Viewers also liked

The 99.999 percent cybersecurity problem
The 99.999 percent cybersecurity problemThe 99.999 percent cybersecurity problem
The 99.999 percent cybersecurity problemSherry Jones
 
Java- JDBC- Mazenet Solution
Java- JDBC- Mazenet SolutionJava- JDBC- Mazenet Solution
Java- JDBC- Mazenet SolutionMazenetsolution
 
CGA Millennials in the Workforce
CGA Millennials in the WorkforceCGA Millennials in the Workforce
CGA Millennials in the WorkforceRyan Mekech
 
Medición del radio terrestre Proyecto Eratóstenes
Medición del radio terrestre Proyecto EratóstenesMedición del radio terrestre Proyecto Eratóstenes
Medición del radio terrestre Proyecto EratóstenesSole Pomilio
 
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)Richard Schwarz
 
Praca.pl sytuacja na rynku pracy w I kw.2016 raport
Praca.pl sytuacja na rynku pracy w I kw.2016 raportPraca.pl sytuacja na rynku pracy w I kw.2016 raport
Praca.pl sytuacja na rynku pracy w I kw.2016 raportPraca.pl
 
Guide to Furnace Sootblowing
Guide to Furnace SootblowingGuide to Furnace Sootblowing
Guide to Furnace SootblowingRichard Smith
 
Guadaleupe- Guadalupe- situación geográfica de francia.
Guadaleupe- Guadalupe- situación geográfica de francia.Guadaleupe- Guadalupe- situación geográfica de francia.
Guadaleupe- Guadalupe- situación geográfica de francia.Rumy Niko
 
Responsabilités du chef d'établissement et usages des nouvelles technologies
Responsabilités du chef d'établissement et usages des nouvelles technologiesResponsabilités du chef d'établissement et usages des nouvelles technologies
Responsabilités du chef d'établissement et usages des nouvelles technologiesCRDPRouen
 
Presentación didactica accion tutorial
Presentación didactica accion tutorialPresentación didactica accion tutorial
Presentación didactica accion tutorialYusra Abderrazak
 

Viewers also liked (19)

The 99.999 percent cybersecurity problem
The 99.999 percent cybersecurity problemThe 99.999 percent cybersecurity problem
The 99.999 percent cybersecurity problem
 
Java- JDBC- Mazenet Solution
Java- JDBC- Mazenet SolutionJava- JDBC- Mazenet Solution
Java- JDBC- Mazenet Solution
 
CGA Millennials in the Workforce
CGA Millennials in the WorkforceCGA Millennials in the Workforce
CGA Millennials in the Workforce
 
Medición del radio terrestre Proyecto Eratóstenes
Medición del radio terrestre Proyecto EratóstenesMedición del radio terrestre Proyecto Eratóstenes
Medición del radio terrestre Proyecto Eratóstenes
 
The Live Online Class
The Live Online ClassThe Live Online Class
The Live Online Class
 
RESUME
RESUMERESUME
RESUME
 
Basics of Html
 Basics of Html Basics of Html
Basics of Html
 
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
Nassi Shneiderman Diagrams: Algorithms Made Easier (at least a little bit)
 
Abdel Hamied Lotfy cv
Abdel Hamied Lotfy cvAbdel Hamied Lotfy cv
Abdel Hamied Lotfy cv
 
Praca.pl sytuacja na rynku pracy w I kw.2016 raport
Praca.pl sytuacja na rynku pracy w I kw.2016 raportPraca.pl sytuacja na rynku pracy w I kw.2016 raport
Praca.pl sytuacja na rynku pracy w I kw.2016 raport
 
Guide to Furnace Sootblowing
Guide to Furnace SootblowingGuide to Furnace Sootblowing
Guide to Furnace Sootblowing
 
Fiches assemblees - Kit complet
Fiches assemblees - Kit completFiches assemblees - Kit complet
Fiches assemblees - Kit complet
 
Guadaleupe- Guadalupe- situación geográfica de francia.
Guadaleupe- Guadalupe- situación geográfica de francia.Guadaleupe- Guadalupe- situación geográfica de francia.
Guadaleupe- Guadalupe- situación geográfica de francia.
 
Keynote kenshoo
Keynote kenshooKeynote kenshoo
Keynote kenshoo
 
Bosquejo Aspectos Fisicos
Bosquejo Aspectos FisicosBosquejo Aspectos Fisicos
Bosquejo Aspectos Fisicos
 
SCTP
SCTP SCTP
SCTP
 
Loscincosentidos
LoscincosentidosLoscincosentidos
Loscincosentidos
 
Responsabilités du chef d'établissement et usages des nouvelles technologies
Responsabilités du chef d'établissement et usages des nouvelles technologiesResponsabilités du chef d'établissement et usages des nouvelles technologies
Responsabilités du chef d'établissement et usages des nouvelles technologies
 
Presentación didactica accion tutorial
Presentación didactica accion tutorialPresentación didactica accion tutorial
Presentación didactica accion tutorial
 

Similar to JDBC (19)

Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Jdbc
JdbcJdbc
Jdbc
 
Ser vlet conectar con base de datos
Ser vlet conectar con base de datosSer vlet conectar con base de datos
Ser vlet conectar con base de datos
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
JDBC
JDBC JDBC
JDBC
 
JCBC
JCBCJCBC
JCBC
 
Connection
ConnectionConnection
Connection
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Qué es jdbc
Qué es jdbcQué es jdbc
Qué es jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Java con bd
Java con bdJava con bd
Java con bd
 
Jbdc
JbdcJbdc
Jbdc
 

Recently uploaded

#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadEduardoSantiagoSegov
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 

Recently uploaded (20)

#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
El camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVPEl camino a convertirse en Microsoft MVP
El camino a convertirse en Microsoft MVP
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
La tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedadLa tecnología y su impacto en la sociedad
La tecnología y su impacto en la sociedad
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 

JDBC

  • 1. Java Modulo 2: JDBC M. en Ing. Leonardo M. Moreno Villalba
  • 2. Que es JDBC Es un especificación formada por una colección de interfaces y clases abstractas, que deben implementar todos los fabricantes de drivers que quieran realizar una implementación de su driver 100% Java y compatible con JDBC (JDBC-compliantdriver).
  • 3. El API JDBC hace posible la realización de las siguientes tareas: 1. Establecer una conexión con una base de datos. 2. Enviar sentencias SQL. 3. Manipular los datos. 4. Procesar los resultados de la ejecución de las sentencias.
  • 4. Capas que Componen JDBC El API JDBC que es el conjunto de clases que utiliza el programador. Dentro de este API tenemos el administrador de controladores (Driver Manager) que recibe las peticiones del programa Java y comunica con el controlador seleccionado, de manera transparente para el programador. El controlador recibe las órdenes y las traduce a órdenes directas al gestor de base de datos.
  • 5. Tipos de Drivers en JDBC Tipo 1 JDBC-ODBC El puente JDBC-ODBC convierte llamadas JBDC a ODBC, asignando todo el trabajo a ODBC. Los drivers de este tipo requieren que también un ODBC driver sea instalado en cada cliente con sus propias librerías (APIS), siendo esta una desventaja, además de ser algo lento en los accesos a las bases de datos.
  • 6. Tipos de Drivers en JDBC Tipo 2 Java Nativo Este tipo de controlador se conoce como API nativas, el controlador contiene código java por medio del cual se realizan las llamadas a los métodos nativos de la base de datos ya sea en C o C++ que son los encargados del acceso a la base de datos. En ocasiones es necesario instalar un software cliente para utilizar este tipo de controlador.
  • 7. Tipos de Drivers en JDBC Tipo 3 100% Java - Protocolo Nativo Los controladores de este tipo son llamados drivers de protocolo de red y convierten llamadas JDBC a un protocolo de base independiente que traduce el protocolo de red en el protocolo nativo correcto de la base de datos. Estos controladores JDBC se comunican con la aplicación intermedia en el servidor que trasladan las peticiones del programa cliente a una API especifica del controlador. Ofrece la posibilidad de no instalar ningún software en el cliente. Este controlador está diseñado 100% en Java y utiliza el protocolo nativo de red para comunicarse con el SGBD (Sistema de Gestión de Bases de Datos), por tanto, se independiza totalmente de la plataforma.
  • 8. Tipos de Drivers en JDBC Tipo 4 100% Java-Protocolo Independiente Estos drivers no requieren un software especial para ser instalado en el cliente. Utilizan protocolos de red que están incluidos en el SGBD (Sistema de Gestión de Bases de Datos), por lo tanto los controladores se comunican de manera directa con la base de datos. Se encuentra escrito totalmente en java y son provistos por el fabricante del SGBD. Es el controlador más independiente de la plataforma de los cuatro vistos. Este controlador traduce las ordenes JDBC directamente al protocolo de red que implementa o emplea el SGBD.
  • 9. Interfaces de JDBC JDBC define ocho interfaces para operaciones con bases de datos, de las que se derivan las clases correspondientes. La figura siguiente, muestra la interrelación entre estas clases según el modelo de objetos de la especificación de JDBC.
  • 10. Tabla de Descripción de las interfaces y clases de JDBC
  • 11. Ejemplo básico de conexión 1 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.SQLException; publicclassMain { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa."); // Se carga el driver JDBC-ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente"); } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC."); } try { // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access "+ conn.getCatalog()+".mdb Correctamente" ); } catch (SQLException e) { } } }
  • 12. Ejemplo básico de conexión 2 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.ResultSet; importjava.sql.SQLException; publicclass EjemplBásicoConexión2 { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa."); // Se carga el driver JDBC-ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente"); } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC."); } try { // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access " + conn.getCatalog() + ".mdb Correctamente"); System.out.println("Esta base de Datos tiene las siguientes Tablas:"); ResultSetrs = conn.getMetaData().getTables(null, null, "%", null); while (rs.next()) { System.out.println(rs.getString(3)); } } catch (SQLException e) { } } }
  • 13. Ejemplo básico de conexión 3 importjava.sql.Connection; importjava.sql.DriverManager; importjava.sql.SQLException; publicclass EjemploBasicoConexion3 { publicstaticvoidmain(String[] args) { Connectionconn; System.out.println("Iniciando programa."); // Se carga el driver JDBC-ODBC try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); System.out.println("Se han cargado los driver correctamente"); } catch (Exception e) { System.out.println("No se pudo cargar el puente JDBC-ODBC."); return; } try { // Se establece la conexión con la base de datos conn = DriverManager.getConnection("jdbc:odbc:AccessModulo2Puente", "", ""); System.out.println("Se ha establecido la conexion con la base de access "+ conn.getCatalog()+".mdb Correctamente" ); conn.close(); System.out.println("Se ha cerrado la conexion a la base correctamente"); } catch (SQLException e) { } } }