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

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICAÁngel Encinas
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...JAVIER SOLIS NOYOLA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxdkmeza
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 

Último (20)

BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICABIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
BIOMETANO SÍ, PERO NO ASÍ. LA NUEVA BURBUJA ENERGÉTICA
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
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
 
Estrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptxEstrategias de enseñanza-aprendizaje virtual.pptx
Estrategias de enseñanza-aprendizaje virtual.pptx
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Unidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la InvestigaciónUnidad 3 | Metodología de la Investigación
Unidad 3 | Metodología de la Investigación
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 

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)