SlideShare una empresa de Scribd logo
1 de 16
Transacciones
• Transacción = conjunto de comandos que deben
  completarse satisfactoriamente o fallar
  conjuntamente
• Si un comando falla, el sistema debe volver atrás
  todas las acciones anteriores
• No permite dejar la B.D. en un estado intermedio de
  la transacción. O se completa todo, o falla todo.
Visión general de JDBC
•   API estándar para el acceso a bases de datos
•   Similar a ODBC
•   API definida desde JDK 1.1
•   Controladores disponibles para el acceso a la
    mayoría de bases de datos
Arquitectura de JDBC
Aplicación       JDBC          Driver



  • El código Java llama a las clases JDBC
  • JDBC carga un controlador (driver)
  • El controlador conecta con una determinada
    base de datos
  • Se puede tener mas de un controlador ->
    más de una base de datos
  • Ideal: se puede acceder a distintas bases de
    datos sin cambiar el código de la aplicación
Controladores JDBC (Fig.)

          Tipo I                         Driver
                      ODBC
         “Bridge”                        ODBC


          Tipo II
JDBC                   CLI (.lib)
         “Native”



          Tipo III                  Middleware
       “Middleware”                   Server



          Tipo IV
          “Pure”
JDBC Class Usage

DriverManager



                Driver



                         Connection



                                      Statement



                                                  ResultSet
JDBC URLs
jdbc:subprotocol:source
• Cada controlador tiene su propio
  subprotocolo
• Cada subprotocolo tiene su propia sintaxis
  para acceder al origen de datos
jdbc:odbc:DataSource
  – P.e.. jdbc:odbc:Northwind
jdbc:informix-sqli://host[:port]/database
  – P.e. jdbc:informix-sqli://dbserver:2650/dbconta


 MYSQL
  url= "jdbc:mysql://localhost:3306/cumpleanos";
DriverManager
Connection getConnection
  (String url, String user,
  String password)
• Conecta a una URL JDBC determinada
  mediante el usuario y password suministrados
• Lanza java.sql.SQLException
• Devuelve un objeto del tipo Connection
import java.sql.*;
import java.sql.Connection;
                              Obtener una conexión
import java.sql.DriverManager;

public class Conexion
{
    private String driver= "com.mysql.jdbc.Driver";
    // ojo aqui colocar el path del jdbc correspondiente a la conexion dependiendo de la configuracion del puerto donde corra el JDBC
    private String url= "jdbc:mysql://localhost:3306/db_session";
    // ojo el login y pass son para entrar al motor de Base de Datos
    private String login= "root";
    private String password= "admin";
    // creamos un metodo de tipo Connection
    public Connection getConnection() {
    Connection cn= null;

        try{
           Class.forName(driver).newInstance();//Obtenmos el driver de mysql
           cn= DriverManager.getConnection(url, login, password);//Conectamos a nuestra BD
          // preparamos a la aplicacion en caso de algun error en la consulta
        } catch(SQLException e)
        {
           System.out.println(e.toString());
           cn= null;
           // preparamos a la aplicacion en caso de algun error
        } catch(Exception e) {
           System.out.println(e.toString());
           cn= null;
        }

        return cn;
    }
Métodos de la clase Conection
Statement createStatement()
  – Devuelve un nuevo objeto Statement
PreparedStatement
  prepareStatement(String sql)
  – Devuelve un nuevo objeto PreparedStatement
CallableStatement prepareCall(String
  sql)
  – Devuelve un nuevo objeto CallableStatement
• ¿Por qué existen todos estos tipos distintos de
  “statements”? Optimización.
Statement
• Un objeto “Statement” es utilizado para
  ejecutar una sentencia SQL estática y obtener
  los resultados producidos por la misma
Statement Methods
ResultSet executeQuery(String)
   – Ejecuta una sentencia SQL y devuelve un único ResultSet
int executeUpdate(String)
   – Ejecuta una sentencia SQL del tipo INSERT, UPDATE o
     DELETE. Devuelve el número de registros modificados.
boolean execute(String)
   – Ejecuta una sentencia SQL que puede devolver múltiples
     resultados
• ¿Por qué todos estos tipos distintos de métodos?
  Optimización.
ResultSet
• Un ResultSet ofrece acceso a una tabla de datos
  generada por la ejecución de un Statement.
• Solamente se puede abrir a la vez un ResultSet por
  Statement.
• Los registros de la tabla se obtienen en secuencia
• Un ResultSet mantiene un cursor que apunta al
  registro de datos actual.
• El método 'next' mueve el cursor al siguiente
  registro.
   – No se puede volver hacia atrás
Métodos de ResultSet
• boolean next()
   – Mueve el cursor al siguiente registro
   – La primera llamada a next() selecciona el primer registro
   – Devuelve false si no hay más registros
• void close()
   – Cierra el objeto ResultSet
   – Permite reutilizar el objeto Statement que creó el
     ResultSet
   – Se llama de forma automática por la mayoría de métodos
     de la clase Statement
Métodos de ResultSet
• Type getType(int columnIndex)
  – Devuelve el campo del tipo especificado (Type)
  – Los campos se indexan comenzando por 1 (no por 0)
• Type getType(String columnName)
  – Igual que el anterior pero usando el nombre de la columna
    como parámetro
  – Menos eficiente
• int findColumn(String columnName)
  – Devuelve el índice de la columna que se pasa como
    parámetro
Métodos ResultSet
•   String getString(int columnIndex)
•   boolean getBoolean(int columnIndex)
•   byte getByte(int columnIndex)
•   short getShort(int columnIndex)
•   int getInt(int columnIndex)
•   long getLong(int columnIndex)
•   float getFloat(int columnIndex)
•   double getDouble(int columnIndex)
•   Date getDate(int columnIndex)
•   Time getTime(int columnIndex)
•   Timestamp getTimestamp(int columnIndex)
Métodos ResultSet
•   String getString(String columnName)
•   boolean getBoolean(String columnName)
•   byte getByte(String columnName)
•   short getShort(String columnName)
•   int getInt(String columnName)
•   long getLong(String columnName)
•   float getFloat(String columnName)
•   double getDouble(String columnName)
•   Date getDate(String columnName)
•   Time getTime(String columnName)
•   Timestamp getTimestamp(String columnName)

Más contenido relacionado

La actualidad más candente (18)

Programación 3 jk base de datos sql
Programación 3 jk base de datos sqlProgramación 3 jk base de datos sql
Programación 3 jk base de datos sql
 
Connection
ConnectionConnection
Connection
 
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-20063. Curso Java JDBC (Bases de datos) - Curso 2005-2006
3. Curso Java JDBC (Bases de datos) - Curso 2005-2006
 
Java con Base de Datos
Java con Base de DatosJava con Base de Datos
Java con Base de Datos
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Statement
StatementStatement
Statement
 
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
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
Connection
ConnectionConnection
Connection
 
Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java
 
Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Oledbconnection (clase)
Oledbconnection (clase)Oledbconnection (clase)
Oledbconnection (clase)
 
Java y Bases Datos
Java y Bases DatosJava y Bases Datos
Java y Bases Datos
 

Similar a Conexion bd en java y api necesaria

Similar a Conexion bd en java y api necesaria (20)

Jdbc
JdbcJdbc
Jdbc
 
S8-POO-4.2 BDD
S8-POO-4.2 BDDS8-POO-4.2 BDD
S8-POO-4.2 BDD
 
S8-BDD
S8-BDDS8-BDD
S8-BDD
 
Tema 15 aplicaciones de dos capas por gio
Tema 15   aplicaciones de dos capas por gioTema 15   aplicaciones de dos capas por gio
Tema 15 aplicaciones de dos capas por gio
 
Bases Datos en java
Bases Datos en javaBases Datos en java
Bases Datos en java
 
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
 
Tema 9 aplicaciones de dos capas por gio
Tema 9   aplicaciones de dos capas por gioTema 9   aplicaciones de dos capas por gio
Tema 9 aplicaciones de dos capas por gio
 
Explicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdfExplicacion de la Clase en Java-MySQL.pdf
Explicacion de la Clase en Java-MySQL.pdf
 
Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
 
Lps 18 basesdedatos
Lps 18 basesdedatosLps 18 basesdedatos
Lps 18 basesdedatos
 
Acceso a datos con JAVA
Acceso a datos con JAVAAcceso a datos con JAVA
Acceso a datos con JAVA
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
[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)
 
Uso java jdbc
Uso java jdbcUso java jdbc
Uso java jdbc
 
Jyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datosJyoc java-cap16 persistencia. bases de datos
Jyoc java-cap16 persistencia. bases de datos
 
System.Data.SqlClient
System.Data.SqlClient System.Data.SqlClient
System.Data.SqlClient
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java y Base de Datos
Java y Base de DatosJava y Base de Datos
Java y Base de Datos
 
Statement
StatementStatement
Statement
 
Statement
StatementStatement
Statement
 

Más de Boris Salleg

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datosBoris Salleg
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminadaBoris Salleg
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basicoBoris Salleg
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basicoBoris Salleg
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internetBoris Salleg
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basicoBoris Salleg
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritasBoris Salleg
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datosBoris Salleg
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspBoris Salleg
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completoBoris Salleg
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQLBoris Salleg
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jspBoris Salleg
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jspBoris Salleg
 

Más de Boris Salleg (20)

01. capitulo 2 6 validacion de datos
01. capitulo 2  6 validacion de datos01. capitulo 2  6 validacion de datos
01. capitulo 2 6 validacion de datos
 
03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada03. prueba de conocimiento inicial excel basico terminada
03. prueba de conocimiento inicial excel basico terminada
 
01. contenido curso internet basico
01. contenido curso internet basico01. contenido curso internet basico
01. contenido curso internet basico
 
Contenido curso excel basico
Contenido curso excel basicoContenido curso excel basico
Contenido curso excel basico
 
Compromiso academico servicios de internet
Compromiso academico servicios de internetCompromiso academico servicios de internet
Compromiso academico servicios de internet
 
Compromiso academico excel basico
Compromiso academico excel basicoCompromiso academico excel basico
Compromiso academico excel basico
 
Taller #1 institucion educativa las margaritas
Taller #1   institucion educativa las margaritasTaller #1   institucion educativa las margaritas
Taller #1 institucion educativa las margaritas
 
Arboles
ArbolesArboles
Arboles
 
Introduccion base de datos
Introduccion base de datosIntroduccion base de datos
Introduccion base de datos
 
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jspExplicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
Explicacion metodologia 3 capas y base de datos, proyecto de ejemplo jsp
 
Condicionales
CondicionalesCondicionales
Condicionales
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Algoritmo de listas simples completo
Algoritmo de listas simples  completoAlgoritmo de listas simples  completo
Algoritmo de listas simples completo
 
Introduccion base de datos con MYSQL
Introduccion base de datos con MYSQLIntroduccion base de datos con MYSQL
Introduccion base de datos con MYSQL
 
Practica utilizacion de beans en jsp
Practica  utilizacion de beans en jspPractica  utilizacion de beans en jsp
Practica utilizacion de beans en jsp
 
Utilizacion de beans en jsp
Utilizacion de beans en jspUtilizacion de beans en jsp
Utilizacion de beans en jsp
 
Practica eventos
Practica eventosPractica eventos
Practica eventos
 
Clase event
Clase eventClase event
Clase event
 
Manejoevento
ManejoeventoManejoevento
Manejoevento
 

Último

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfUPTAIDELTACHIRA
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.JonathanCovena1
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfGruberACaraballo
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCCarlosEduardoSosa2
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxNadiaMartnez11
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfMercedes Gonzalez
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 

Último (20)

NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdfNUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
NUEVAS DIAPOSITIVAS POSGRADO Gestion Publica.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.Análisis de los Factores Externos de la Organización.
Análisis de los Factores Externos de la Organización.
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPCTRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
TRABAJO FINAL TOPOGRAFÍA COMPLETO DE LA UPC
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docxTALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
TALLER DE DEMOCRACIA Y GOBIERNO ESCOLAR-COMPETENCIAS N°3.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 

Conexion bd en java y api necesaria

  • 1. Transacciones • Transacción = conjunto de comandos que deben completarse satisfactoriamente o fallar conjuntamente • Si un comando falla, el sistema debe volver atrás todas las acciones anteriores • No permite dejar la B.D. en un estado intermedio de la transacción. O se completa todo, o falla todo.
  • 2. Visión general de JDBC • API estándar para el acceso a bases de datos • Similar a ODBC • API definida desde JDK 1.1 • Controladores disponibles para el acceso a la mayoría de bases de datos
  • 3. Arquitectura de JDBC Aplicación JDBC Driver • El código Java llama a las clases JDBC • JDBC carga un controlador (driver) • El controlador conecta con una determinada base de datos • Se puede tener mas de un controlador -> más de una base de datos • Ideal: se puede acceder a distintas bases de datos sin cambiar el código de la aplicación
  • 4. Controladores JDBC (Fig.) Tipo I Driver ODBC “Bridge” ODBC Tipo II JDBC CLI (.lib) “Native” Tipo III Middleware “Middleware” Server Tipo IV “Pure”
  • 5. JDBC Class Usage DriverManager Driver Connection Statement ResultSet
  • 6. JDBC URLs jdbc:subprotocol:source • Cada controlador tiene su propio subprotocolo • Cada subprotocolo tiene su propia sintaxis para acceder al origen de datos jdbc:odbc:DataSource – P.e.. jdbc:odbc:Northwind jdbc:informix-sqli://host[:port]/database – P.e. jdbc:informix-sqli://dbserver:2650/dbconta MYSQL url= "jdbc:mysql://localhost:3306/cumpleanos";
  • 7. DriverManager Connection getConnection (String url, String user, String password) • Conecta a una URL JDBC determinada mediante el usuario y password suministrados • Lanza java.sql.SQLException • Devuelve un objeto del tipo Connection
  • 8. import java.sql.*; import java.sql.Connection; Obtener una conexión import java.sql.DriverManager; public class Conexion { private String driver= "com.mysql.jdbc.Driver"; // ojo aqui colocar el path del jdbc correspondiente a la conexion dependiendo de la configuracion del puerto donde corra el JDBC private String url= "jdbc:mysql://localhost:3306/db_session"; // ojo el login y pass son para entrar al motor de Base de Datos private String login= "root"; private String password= "admin"; // creamos un metodo de tipo Connection public Connection getConnection() { Connection cn= null; try{ Class.forName(driver).newInstance();//Obtenmos el driver de mysql cn= DriverManager.getConnection(url, login, password);//Conectamos a nuestra BD // preparamos a la aplicacion en caso de algun error en la consulta } catch(SQLException e) { System.out.println(e.toString()); cn= null; // preparamos a la aplicacion en caso de algun error } catch(Exception e) { System.out.println(e.toString()); cn= null; } return cn; }
  • 9. Métodos de la clase Conection Statement createStatement() – Devuelve un nuevo objeto Statement PreparedStatement prepareStatement(String sql) – Devuelve un nuevo objeto PreparedStatement CallableStatement prepareCall(String sql) – Devuelve un nuevo objeto CallableStatement • ¿Por qué existen todos estos tipos distintos de “statements”? Optimización.
  • 10. Statement • Un objeto “Statement” es utilizado para ejecutar una sentencia SQL estática y obtener los resultados producidos por la misma
  • 11. Statement Methods ResultSet executeQuery(String) – Ejecuta una sentencia SQL y devuelve un único ResultSet int executeUpdate(String) – Ejecuta una sentencia SQL del tipo INSERT, UPDATE o DELETE. Devuelve el número de registros modificados. boolean execute(String) – Ejecuta una sentencia SQL que puede devolver múltiples resultados • ¿Por qué todos estos tipos distintos de métodos? Optimización.
  • 12. ResultSet • Un ResultSet ofrece acceso a una tabla de datos generada por la ejecución de un Statement. • Solamente se puede abrir a la vez un ResultSet por Statement. • Los registros de la tabla se obtienen en secuencia • Un ResultSet mantiene un cursor que apunta al registro de datos actual. • El método 'next' mueve el cursor al siguiente registro. – No se puede volver hacia atrás
  • 13. Métodos de ResultSet • boolean next() – Mueve el cursor al siguiente registro – La primera llamada a next() selecciona el primer registro – Devuelve false si no hay más registros • void close() – Cierra el objeto ResultSet – Permite reutilizar el objeto Statement que creó el ResultSet – Se llama de forma automática por la mayoría de métodos de la clase Statement
  • 14. Métodos de ResultSet • Type getType(int columnIndex) – Devuelve el campo del tipo especificado (Type) – Los campos se indexan comenzando por 1 (no por 0) • Type getType(String columnName) – Igual que el anterior pero usando el nombre de la columna como parámetro – Menos eficiente • int findColumn(String columnName) – Devuelve el índice de la columna que se pasa como parámetro
  • 15. Métodos ResultSet • String getString(int columnIndex) • boolean getBoolean(int columnIndex) • byte getByte(int columnIndex) • short getShort(int columnIndex) • int getInt(int columnIndex) • long getLong(int columnIndex) • float getFloat(int columnIndex) • double getDouble(int columnIndex) • Date getDate(int columnIndex) • Time getTime(int columnIndex) • Timestamp getTimestamp(int columnIndex)
  • 16. Métodos ResultSet • String getString(String columnName) • boolean getBoolean(String columnName) • byte getByte(String columnName) • short getShort(String columnName) • int getInt(String columnName) • long getLong(String columnName) • float getFloat(String columnName) • double getDouble(String columnName) • Date getDate(String columnName) • Time getTime(String columnName) • Timestamp getTimestamp(String columnName)