SlideShare una empresa de Scribd logo
1 de 18
SISTEMA DE COMPRAS
CONEXIÓN A BASE DE DATOS
ANALISIS DE SISTEMAS
Base de Datos con JAVA
TEMAS
• Introducción.
• Drivers.
• Cursores y Bloqueo.
• Excepciones.
• Prepared Statemnet.
• Transacciones.
• Strore Procedures.
MODELO BD
JDBC – JAVA DATA BASE CONECTION
• API de JAVA que permite la ejecución de instrucciones
SQL.
• Para que una aplicación pueda hacer operaciones en una
BD, debe hacerlo a través de 2 interfaces:
• JDBC API para aplicaciones: paquete de JAVA (java.sql) que
contiene un conjunto de clases y interfaces escritas en JAVA
• JDBC Driver para manejadores o drivers: permite la conexión
entre la aplicación y al BD.
• Los drivers son programas de bajo nivel que se encargan
de mantener la comunicación entre la API de aplicaciones
y el RDBMS.
Cargar Drivers
Conectarse,
Definir Tx
Obtener
Conexión
Objeto
Statement
Voy a realizar
un DML,DDL
Objeto
ResultSet
Objeto
PreparedStatement
Objeto
CallableStatement
Voy a ejecutar
operación pre
compilada
Voy a trabajar
con Stored
Procedures
ejecuto
ejecuto
ejecuto
ejecuto
Liberar
Recursos
Conexión a un RDBMS
Conexión y Acceso a RDBMS
Objeto Connection
• El objeto Connection representa una conexión con la BD.
• La sesión incluye las sentencias SQL que se ejecuten así
como los resultados que se obtengan. Una aplicación puede
tener una o más conexiones con una BD o puede tener
conexiones con diferentes BD.
• Para registrar un driver utilizamos:
Class.forName(clase.del.driver);
• Podemos abrir una conexión :
• DriverManager.getConnection(url,usr,pwd);
• url: dirección fisica del RDBMS mediante el driver
• usr: usuario de base de datos
• pwd: contraseña de base de datos
JDBC URL
Proporciona una forma de identificar una fuente de datos. Es
particular para cada tipo y fabricante de Driver. Pueden identificarse
a través de servicios como DNS, NIS, NIS+, etc
jdbc : <subprotocolo>:<subnombre>
jdbc : Protocolo. Es un valor fijo.
<subprotocolo> : El nombre del driver o el nombre de un
mecanismo de conexión que puede ser soportado por uno o
más drivers.
<subnombre> : El nombre que identifica a la fuente de datos.
Puede tener diferentes sintaxis de acuerdo al fabricante del
driver.
Conexión y Acceso a RDBMS
Conexión y Acceso a RDBMS
Conexión con ODBC
Class.forName("jdbc.odbc.JdbcOdbcDriver"); //Carga el driver
String url = "jdbc:odbc:basedeDatos";
Connection con = DriverManager.getConnection(url, "userID", "passwd");
Class.forName(”oracle.jdbc.driver.OracleDriver"); //Carga el driver
Connection con = DriverManager.getConnection
("jdbc:oracle:thin:@<database>" , " userID ", " passwd ");
Conexión con Oracle
Class.forName(” com.mysql.jdbc.Driver"); //Carga el driver
Connection con = DriverManager.getConnection
("jdbc:mysql://127.0.0.1/<database>" , " userID ", " passwd ");
Conexión con MySQL
Objeto Statement
El objeto statement se utiliza para enviar instrucciones SQL a
la BD.
• Existen tres tipos de Statement :
• Statement : Instrucciones SQL
• PreparedStatement : Instrucciones SQL PreCompiladas
• CallableStatement : StoreProcedures
• Connection con = DriverManager.getConnection(url,usr,pwd);
• Statement stmt = con.createStatement();
• Una vez terminada su utilización el objeto statement es recogido por el
recolector de basura, pero podemos cerrarlo con el metodo
stmt.close();
Ejecución de Sentencias SQL
La sentencias SQL se ejecutan normalmente con :
• executeUpdate() : INSERT, UPDATE, DELETE, CREATE
TABLE, DROP TABLE. Retorna el número de filas que
han sido alteradas.
• executeQuery() : Para utilizarlo con sentencias SELECT
Ejem.
stmt.executeQuery("SELECT a, b, c FROM Table2");
stmt.executeUpdate(“INSERT INTO Detalles VALUES(10,10,´A´);
Ejecución de Sentencias SQL
También podemos ejecutar sentencias en batch con el
método :
• executeBatch() : Podemos enviar múltiples sentencias
SQL y tratarlas como una unidad.
• Statement stmt = con.createStatement();
• con.setAutoCommit(false);
• stmt.addBatch("INSERT INTO employees VALUES (1000, 'Joe Jones')");
• stmt.addBatch("INSERT INTO departments VALUES (260, 'Shoe')");
• stmt.addBatch("INSERT INTO emp_dept VALUES (1000, '260')");
• int [ ] updateCounts = stmt.executeBatch();
Objeto ResultSet
• El resultSet contiene los resultados de la ejecución de un
query SQL en un cursor que apunta a la fila actual de datos. El
desplazamiento se da cada vez que se llama al metodo next().
• Por default el desplazamiento es hacia delante solamente.
JDBC 2.0 permite diversos desplazamientos : previous, first,
last, absolute, relative, afterLast, and beforeFirst.
• Ejem.
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1");
while (rs.next()) {
...// realizamos diversas operaciones con el cursor
}
Objeto ResultSet
• Número de filas en un ResultSet :
String sql = "select last_name, first_name from employees“;
ResultSet rs = stmt.executeQuery(sql);
rs.last();
int numberOfRows = rs.getRow();
System.out.println("XYZ, Inc. has " + numberOfRows +
"employees");
rs.beforeFirst();
while (rs.next()) {
. . . // operaciones con el cursor
}
Objeto ResultSet
Obteniendo Datos de un ResultSet :
• Utilizamos los métodos getXXX() : Donde XXX indica el
tipo de dato que queremos obtener a partir del Cursor.
String s = rs.getString(2);
String s = rs.getString(“title");
• El parámetro dentro del getXXX() si es un numero hará
referencia al campo que ocupa esa posición en el
registro actual, cuando se trata de una cadena esta
referirá al nombre del campo obtenido en la consulta.
Obteniendo Datos de un ResultSet :
Obteniendo Datos de un ResultSet :
Resumen
• JDBC es un API que nos permite conectarnos a cualquier RDBMS.
• Nos valemos de drivers para lograr una comunicación.
• Es potestad de cada fabricante cumplir con las especificaciones de la
API.
• Para un aplicación debemos de “cargar” la clase del driver, en primer
lugar.
• Generamos el objeto Connection.
• Si ejecutamos SELECT : Objeto Statement y Objeto ResultSet
• Si ejecutamos INSERT, UPDATE, etc. : Objeto Statement
• Si ejecutamos sentencias precompiladas : Objeto
PreparedStatement.
• Si trabajamos con Stored Procedures : Objeto CallableStatement.
• Podemos controlar el nivel de Transacción. ( de acuerdo al driver)
Recordando
form Servlet Clase
Vista.jsp Control.java Modelo.java
BASE DE
DATOS
Envía datos Llama método
Seconectaa
Vista
Utiliza JSP
y HTML
Formularios
Controlador
Java
Servlet
Toma
decisiones
Modelo
Clases en
JAVA
Atributos y
métodos
Modelo de 3 capas - MVC

Más contenido relacionado

La actualidad más candente

La actualidad más candente (18)

Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Conexión a postgres desde
Conexión a postgres desdeConexión a postgres desde
Conexión a postgres desde
 
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
 
Statement
StatementStatement
Statement
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
MyBatis como alternativa a Hibernate
MyBatis como alternativa a HibernateMyBatis como alternativa a Hibernate
MyBatis como alternativa a Hibernate
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java109545688 conexion-de-sql-a-java
109545688 conexion-de-sql-a-java
 
Java con-base-datos
Java con-base-datosJava con-base-datos
Java con-base-datos
 
Continuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper reportContinuación 3 de la creación de reportes con jasper report
Continuación 3 de la creación de reportes con jasper report
 
Connection
ConnectionConnection
Connection
 
React redux
React redux React redux
React redux
 
Statement
StatementStatement
Statement
 
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
 
Objeto sqlcommand
Objeto sqlcommandObjeto sqlcommand
Objeto sqlcommand
 
Trabajo Connectar
Trabajo ConnectarTrabajo Connectar
Trabajo Connectar
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 

Destacado

Javax.servlet,http packages
Javax.servlet,http packagesJavax.servlet,http packages
Javax.servlet,http packagesvamsi krishna
 
Do while, for y foreach
Do while, for y foreachDo while, for y foreach
Do while, for y foreachRogDer
 
Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeansEmerson Garay
 
Diseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansDiseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansEmerson Garay
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Javaflekoso
 

Destacado (9)

Javax.servlet,http packages
Javax.servlet,http packagesJavax.servlet,http packages
Javax.servlet,http packages
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Do while, for y foreach
Do while, for y foreachDo while, for y foreach
Do while, for y foreach
 
Conexion mysql con java usando netbeans
Conexion mysql con java usando netbeansConexion mysql con java usando netbeans
Conexion mysql con java usando netbeans
 
Diseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansDiseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando Netbeans
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Introducción a la Programación con Java
Introducción a la Programación con JavaIntroducción a la Programación con Java
Introducción a la Programación con Java
 
Java Tutorial
Java TutorialJava Tutorial
Java Tutorial
 

Similar a Clase conexion java - Analisis de Sistemas

Similar a Clase conexion java - Analisis de Sistemas (20)

Java y Bases de Datos
Java y Bases de DatosJava y Bases de Datos
Java y Bases de Datos
 
Unidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde javaUnidad 9. acceso a base de datos desde java
Unidad 9. acceso a base de datos desde java
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Lpiii tema5 - jdbc
Lpiii tema5 - jdbcLpiii tema5 - jdbc
Lpiii tema5 - jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
S8-POO-4.2 BDD
S8-POO-4.2 BDDS8-POO-4.2 BDD
S8-POO-4.2 BDD
 
[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
 
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
 
Connectionjava
ConnectionjavaConnectionjava
Connectionjava
 
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
 
Java y Base de Datos
Java y Base de DatosJava y Base de Datos
Java y Base de Datos
 
Notas clase java ii
Notas clase java iiNotas clase java ii
Notas clase java ii
 
JDBC
JDBCJDBC
JDBC
 
S8-BDD
S8-BDDS8-BDD
S8-BDD
 
JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)JDBC(conjunto de clases e interfaces)
JDBC(conjunto de clases e interfaces)
 
11.android bases de datos
11.android   bases de datos11.android   bases de datos
11.android bases de datos
 
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
 
Connection
ConnectionConnection
Connection
 

Más de Jose Bustamante Romero

Sistema de Compras - Analisis de Sistemas
Sistema de Compras - Analisis de SistemasSistema de Compras - Analisis de Sistemas
Sistema de Compras - Analisis de SistemasJose Bustamante Romero
 
La fuente de la verdadera educación y su propósito
La fuente de la verdadera educación y su propósitoLa fuente de la verdadera educación y su propósito
La fuente de la verdadera educación y su propósitoJose Bustamante Romero
 
Busqueda de referencias en b ds digitales
Busqueda de referencias en b ds digitalesBusqueda de referencias en b ds digitales
Busqueda de referencias en b ds digitalesJose Bustamante Romero
 
Entorno personal de aprendizaje mahara sesion 1
Entorno personal de aprendizaje   mahara sesion 1Entorno personal de aprendizaje   mahara sesion 1
Entorno personal de aprendizaje mahara sesion 1Jose Bustamante Romero
 
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizaje
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizajeNTIC’s: Web 2.0 como estrategia para la enseñanza aprendizaje
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizajeJose Bustamante Romero
 
De Que Hablamos Cuando Hablamos De Conocimiento
De Que Hablamos Cuando Hablamos De ConocimientoDe Que Hablamos Cuando Hablamos De Conocimiento
De Que Hablamos Cuando Hablamos De ConocimientoJose Bustamante Romero
 

Más de Jose Bustamante Romero (20)

Identidad
IdentidadIdentidad
Identidad
 
Análisis implementación de LM
Análisis implementación de LMAnálisis implementación de LM
Análisis implementación de LM
 
El lider que huyó
El lider que huyóEl lider que huyó
El lider que huyó
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Clase servlet - Análisis de Sistemas
Clase servlet - Análisis de SistemasClase servlet - Análisis de Sistemas
Clase servlet - Análisis de Sistemas
 
Sistema de Compras - Analisis de Sistemas
Sistema de Compras - Analisis de SistemasSistema de Compras - Analisis de Sistemas
Sistema de Compras - Analisis de Sistemas
 
2. La escuela del Edén
2. La escuela del Edén2. La escuela del Edén
2. La escuela del Edén
 
La fuente de la verdadera educación y su propósito
La fuente de la verdadera educación y su propósitoLa fuente de la verdadera educación y su propósito
La fuente de la verdadera educación y su propósito
 
Busqueda de referencias en b ds digitales
Busqueda de referencias en b ds digitalesBusqueda de referencias en b ds digitales
Busqueda de referencias en b ds digitales
 
CREAD Virtual Educa 2013 - PLE ITSAE
CREAD Virtual Educa 2013 - PLE ITSAECREAD Virtual Educa 2013 - PLE ITSAE
CREAD Virtual Educa 2013 - PLE ITSAE
 
Arequipa, La Ciudad Blanca
Arequipa, La Ciudad BlancaArequipa, La Ciudad Blanca
Arequipa, La Ciudad Blanca
 
El factor amistad
El factor amistadEl factor amistad
El factor amistad
 
Entorno personal de aprendizaje mahara sesion 1
Entorno personal de aprendizaje   mahara sesion 1Entorno personal de aprendizaje   mahara sesion 1
Entorno personal de aprendizaje mahara sesion 1
 
Ocúpate en la enseñanza
Ocúpate en la enseñanzaOcúpate en la enseñanza
Ocúpate en la enseñanza
 
No descuides el don
No descuides el donNo descuides el don
No descuides el don
 
Triptico Semana de Oracion JA 2010
Triptico Semana de Oracion JA 2010Triptico Semana de Oracion JA 2010
Triptico Semana de Oracion JA 2010
 
La reina de esperanza ester
La reina de esperanza   esterLa reina de esperanza   ester
La reina de esperanza ester
 
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizaje
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizajeNTIC’s: Web 2.0 como estrategia para la enseñanza aprendizaje
NTIC’s: Web 2.0 como estrategia para la enseñanza aprendizaje
 
De Que Hablamos Cuando Hablamos De Conocimiento
De Que Hablamos Cuando Hablamos De ConocimientoDe Que Hablamos Cuando Hablamos De Conocimiento
De Que Hablamos Cuando Hablamos De Conocimiento
 
Tecnologia de Relaciones
Tecnologia de RelacionesTecnologia de Relaciones
Tecnologia de Relaciones
 

Último

Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososAdrianVarela22
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALPamelaGranda5
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfJhonCongoraQuispe
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)esmerling14
 
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdf
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdfTR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdf
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdfFRANCISCOJUSTOSIERRA
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfEsvinAlvares
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfciteagrohuallaga07
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxBuddyroi
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfautomatechcv
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfdego18
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfmcamposa87
 
presentación de topografía y sus aplicaciones
presentación de topografía y sus aplicacionespresentación de topografía y sus aplicaciones
presentación de topografía y sus aplicacionesCarlosA427496
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEfrain Yungan
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfjhorbycoralsanchez
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxValentinaRavelo5
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasPaulina Cargua
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalamador030809
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxOSCARADRIANMEDINADUR
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxStibeCr
 

Último (20)

Guía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrososGuía para la identificación de materiales peligrosos
Guía para la identificación de materiales peligrosos
 
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIALFUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
FUNDAMENTOS DE LA INTELIGENCIA ARTIFICIAL
 
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdfTEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
TEMA 02 VISCOSIDAD DE MECÁNICA DE FLUIDOS .pdf
 
Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)Esmerling de la Cruz (Proyecto de Programación)
Esmerling de la Cruz (Proyecto de Programación)
 
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdf
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdfTR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdf
TR-514 (3) - DOS COLUMNAS PASCUA 2024 3.4 8.4.24.pdf
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdfSESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
SESION 2- 2 ATOMO Y ESTRUCTURA ATÓMICA.pdf
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptx
 
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdfINSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
INSTRUCTIVO_NNNNNNNNNNNNNNSART2 iess.pdf
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
 
presentación de topografía y sus aplicaciones
presentación de topografía y sus aplicacionespresentación de topografía y sus aplicaciones
presentación de topografía y sus aplicaciones
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
 
Introduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdfIntroduccion-a-los-tipos-de-cemento (1).pdf
Introduccion-a-los-tipos-de-cemento (1).pdf
 
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docxMONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
MONOGRAFIA- EDAFOLOGIA - EL SUELO(1).docx
 
Sales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicasSales Básicas Quimica, conocer como se forman las sales basicas
Sales Básicas Quimica, conocer como se forman las sales basicas
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
 
SEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptxSEMICONDUCTORES lafhnoealifsncknisz.pptx
SEMICONDUCTORES lafhnoealifsncknisz.pptx
 
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptxPRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
PRESENTACIÓN ANALISIS ESTRUCTURAL II.pptx
 

Clase conexion java - Analisis de Sistemas

  • 1. SISTEMA DE COMPRAS CONEXIÓN A BASE DE DATOS ANALISIS DE SISTEMAS
  • 2. Base de Datos con JAVA TEMAS • Introducción. • Drivers. • Cursores y Bloqueo. • Excepciones. • Prepared Statemnet. • Transacciones. • Strore Procedures.
  • 4. JDBC – JAVA DATA BASE CONECTION • API de JAVA que permite la ejecución de instrucciones SQL. • Para que una aplicación pueda hacer operaciones en una BD, debe hacerlo a través de 2 interfaces: • JDBC API para aplicaciones: paquete de JAVA (java.sql) que contiene un conjunto de clases y interfaces escritas en JAVA • JDBC Driver para manejadores o drivers: permite la conexión entre la aplicación y al BD. • Los drivers son programas de bajo nivel que se encargan de mantener la comunicación entre la API de aplicaciones y el RDBMS.
  • 5. Cargar Drivers Conectarse, Definir Tx Obtener Conexión Objeto Statement Voy a realizar un DML,DDL Objeto ResultSet Objeto PreparedStatement Objeto CallableStatement Voy a ejecutar operación pre compilada Voy a trabajar con Stored Procedures ejecuto ejecuto ejecuto ejecuto Liberar Recursos Conexión a un RDBMS
  • 6. Conexión y Acceso a RDBMS Objeto Connection • El objeto Connection representa una conexión con la BD. • La sesión incluye las sentencias SQL que se ejecuten así como los resultados que se obtengan. Una aplicación puede tener una o más conexiones con una BD o puede tener conexiones con diferentes BD. • Para registrar un driver utilizamos: Class.forName(clase.del.driver); • Podemos abrir una conexión : • DriverManager.getConnection(url,usr,pwd); • url: dirección fisica del RDBMS mediante el driver • usr: usuario de base de datos • pwd: contraseña de base de datos
  • 7. JDBC URL Proporciona una forma de identificar una fuente de datos. Es particular para cada tipo y fabricante de Driver. Pueden identificarse a través de servicios como DNS, NIS, NIS+, etc jdbc : <subprotocolo>:<subnombre> jdbc : Protocolo. Es un valor fijo. <subprotocolo> : El nombre del driver o el nombre de un mecanismo de conexión que puede ser soportado por uno o más drivers. <subnombre> : El nombre que identifica a la fuente de datos. Puede tener diferentes sintaxis de acuerdo al fabricante del driver. Conexión y Acceso a RDBMS
  • 8. Conexión y Acceso a RDBMS Conexión con ODBC Class.forName("jdbc.odbc.JdbcOdbcDriver"); //Carga el driver String url = "jdbc:odbc:basedeDatos"; Connection con = DriverManager.getConnection(url, "userID", "passwd"); Class.forName(”oracle.jdbc.driver.OracleDriver"); //Carga el driver Connection con = DriverManager.getConnection ("jdbc:oracle:thin:@<database>" , " userID ", " passwd "); Conexión con Oracle Class.forName(” com.mysql.jdbc.Driver"); //Carga el driver Connection con = DriverManager.getConnection ("jdbc:mysql://127.0.0.1/<database>" , " userID ", " passwd "); Conexión con MySQL
  • 9. Objeto Statement El objeto statement se utiliza para enviar instrucciones SQL a la BD. • Existen tres tipos de Statement : • Statement : Instrucciones SQL • PreparedStatement : Instrucciones SQL PreCompiladas • CallableStatement : StoreProcedures • Connection con = DriverManager.getConnection(url,usr,pwd); • Statement stmt = con.createStatement(); • Una vez terminada su utilización el objeto statement es recogido por el recolector de basura, pero podemos cerrarlo con el metodo stmt.close();
  • 10. Ejecución de Sentencias SQL La sentencias SQL se ejecutan normalmente con : • executeUpdate() : INSERT, UPDATE, DELETE, CREATE TABLE, DROP TABLE. Retorna el número de filas que han sido alteradas. • executeQuery() : Para utilizarlo con sentencias SELECT Ejem. stmt.executeQuery("SELECT a, b, c FROM Table2"); stmt.executeUpdate(“INSERT INTO Detalles VALUES(10,10,´A´);
  • 11. Ejecución de Sentencias SQL También podemos ejecutar sentencias en batch con el método : • executeBatch() : Podemos enviar múltiples sentencias SQL y tratarlas como una unidad. • Statement stmt = con.createStatement(); • con.setAutoCommit(false); • stmt.addBatch("INSERT INTO employees VALUES (1000, 'Joe Jones')"); • stmt.addBatch("INSERT INTO departments VALUES (260, 'Shoe')"); • stmt.addBatch("INSERT INTO emp_dept VALUES (1000, '260')"); • int [ ] updateCounts = stmt.executeBatch();
  • 12. Objeto ResultSet • El resultSet contiene los resultados de la ejecución de un query SQL en un cursor que apunta a la fila actual de datos. El desplazamiento se da cada vez que se llama al metodo next(). • Por default el desplazamiento es hacia delante solamente. JDBC 2.0 permite diversos desplazamientos : previous, first, last, absolute, relative, afterLast, and beforeFirst. • Ejem. Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("SELECT a, b, c FROM Table1"); while (rs.next()) { ...// realizamos diversas operaciones con el cursor }
  • 13. Objeto ResultSet • Número de filas en un ResultSet : String sql = "select last_name, first_name from employees“; ResultSet rs = stmt.executeQuery(sql); rs.last(); int numberOfRows = rs.getRow(); System.out.println("XYZ, Inc. has " + numberOfRows + "employees"); rs.beforeFirst(); while (rs.next()) { . . . // operaciones con el cursor }
  • 14. Objeto ResultSet Obteniendo Datos de un ResultSet : • Utilizamos los métodos getXXX() : Donde XXX indica el tipo de dato que queremos obtener a partir del Cursor. String s = rs.getString(2); String s = rs.getString(“title"); • El parámetro dentro del getXXX() si es un numero hará referencia al campo que ocupa esa posición en el registro actual, cuando se trata de una cadena esta referirá al nombre del campo obtenido en la consulta.
  • 15. Obteniendo Datos de un ResultSet :
  • 16. Obteniendo Datos de un ResultSet :
  • 17. Resumen • JDBC es un API que nos permite conectarnos a cualquier RDBMS. • Nos valemos de drivers para lograr una comunicación. • Es potestad de cada fabricante cumplir con las especificaciones de la API. • Para un aplicación debemos de “cargar” la clase del driver, en primer lugar. • Generamos el objeto Connection. • Si ejecutamos SELECT : Objeto Statement y Objeto ResultSet • Si ejecutamos INSERT, UPDATE, etc. : Objeto Statement • Si ejecutamos sentencias precompiladas : Objeto PreparedStatement. • Si trabajamos con Stored Procedures : Objeto CallableStatement. • Podemos controlar el nivel de Transacción. ( de acuerdo al driver)
  • 18. Recordando form Servlet Clase Vista.jsp Control.java Modelo.java BASE DE DATOS Envía datos Llama método Seconectaa Vista Utiliza JSP y HTML Formularios Controlador Java Servlet Toma decisiones Modelo Clases en JAVA Atributos y métodos Modelo de 3 capas - MVC