SlideShare una empresa de Scribd logo
1 de 16
Carrera:
Ingeniería de sistemas y telemática
Curso:
Desarrollo de software i.
Tema:
Java con base de datos
Docente:
Marco Aurelio Porro Chulli
Integrantes:
 Erlin Darwin herrera cieza.
 Yosmer Aguilar cabrera.
Primero descargar el controlador JDBC.
Java Database Connectivity, más conocida por sus siglas JDBC, es una API que
permite la ejecución de operaciones sobre base de datos desde el Lenguaje de
programación java,
El API JDBC se presenta como una colección de interfaces de java y métodos de
gestión de manejadores de conexión hacia cada modelo específico de base de
datos.
Para utilizar una base de datos particular, el usuario ejecuta su programa junto con
la biblioteca de conexión apropiada al modelo de su base de datos, y accede a ella
estableciendo una conexión; para ello provee el localizador a la base de datos y los
parámetros de conexión específicos. A partir de allí puede realizar cualquier tipo
de tarea con la base de datos a la que tenga permiso: consulta, actualización,
creación, modificación y borrado de tablas,
Si ya lo emos descargado solo le importamos o agregamos a nuestro proyecto.
Conectividad de Bases de Datos de Java (JDBC)
Se considera el primer producto estándar de Java con DBMS, creado y
ofrecido por primera vez en marzo de 1996.
Crea una interfaz con un nivel de programación que le permite comunicarse
con las bases de datos mediante un concepto similar al de componentes
ODBC.
El estándar de JDBC está basado en un nivel de interfaz con instrucciones SQL
X/Open, que es básicamente lo mismo que en ODBC.
El puente JDBC-ODBC manipula la traducción de llamadas JDBC a aquellas
que puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C.
Las clases de objetos para iniciar la transacción con la base de datos, están
escritas completamente en Java .
JDBC vs. ODBC
En java se usa jdbc por las siguientes maneras
• ODBC usa una interface escrita con el lenguaje de programación C. Por
lo tanto como que C no es un lenguaje portable las aplicaciones JAVA
perderían también automáticamente su portabilidad.
• ODBC se ha de instalar manualmente en cada máquina, en cambio los
drivers de JDBC como están escritos en JAVA son automáticamente
instalables, portables y seguros.
Hay que decir también, que existen drivers puente entre JDBC-ODBC.
PUENTE JDBC/OBDC
Sum ha diseñado un puente que permite utilizar la API de JDBC en
combinación con controladores ODBC.
JDBC-ODBC bridge plus ODBC driver (tipo 1): este driver fue desarrollado
entre Sun e Intersolv y permite al programador acceder a fuentes de datos
ODBC existentes mediante JDBC.
El primer programa con JDBC
la API JDBC incluye varias clases que se deben utilizar para conseguir acceso a una Base de
Datos.
Clase/Interface Descripción
Driver
Permite conectarse a una Base de Datos: cada gestor de Base de Datos requiere un Driver
distinto.
DriverManager Permite gestionar todos los Drivers instalados en el sistema.
DriverPropertyInfo Proporciona diversa información acerca de un Driver.
Connection
Representa una conexión con una Base de Datos. Una aplicación puede tener más de una
conexión a más de una Base de Datos.
DatabaseMetadata Proporciona información acerca de una Base de Datos, como las tablas que contiene, etc.
Statement Permite ejecutar sentencias SQL sin parámetros.
PreparedStatement Permite ejecutar sentencias SQL con parámetros de entrada.
CallableStatement
Permite ejecutar sentencias SQL con parámetros de entrada y salida, típicamente procedimientos
almacenados.
ResultSet Contiene las filas o registros obtenidos al ejecutar un SELECT.
ResultSetMetadata Permite obtener información sobre un ResultSet, como el número de columnas, sus nombres, etc.
Como conectarnos a una base de datso.
Establecer una conexión con una Base de Datos mediante JDBC es sencillo: en
primer lugar, registramos el Driver a utilizar (que en nuestro caso es el puente
JDBC/ODBC), mediante el código
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );para que no se produzca un
error al momento de conectarnos.
A continuación, se lleva a cabo la conexión a la Base de Datos mediante el código
Connection conexion = DriverManager.getConnection( urlBD, usuarioBD,
passwordBD );
La clase DriverManager gestiona los Drivers registrados en el sistema: al llamar
a getConnection, recorre la lista de Drivers cargados hasta encontrar uno que sea
capaz de gestionar la petición especificada por urlBD
Los parámetros usuarioBD y passwordBD corresponden al nombre del usuario y su
contraseña, necesarios la mayor parte de las veces para acceder a cualquier Base
de Datos.
La cadena utilizada para indicar la Base de Datos siempre tiene tres partes,
separadas por el carácter ":". La primera parte es siempre "jdbc". La segunda
parte indica el subprotocolo, y depende del Sistema de Gestión de Base de
Datos utilizado: en nuestro caso, es "odbc", pero paraSQLAnyware, por
ejemplo, es "dbaw". La tercera parte identifica la Base de Datos concreta a la
que le deseamos conectar.
Y para cerrar la conexión se escribe el siguiente código
conexión.close();
Al utilizar la API JDBC es posible obtener diversos errores debido a que se ha
escrito incorrectamente una sentencia SQL, a que no se puede establecer una
conexión con la Base de Datos por cualquier problema, etc.
El paquete java.sql proporciona tres nuevas excepciones
Excepción Descripción
SQLException Error SQL.
SQLWarning Advertencia SQL.
DataTruncation
Producida cuando se truncan
datos inesperadamente, por
ejemplo al intentar
almacenar un texto
demasiado largo en un
campo.
El Objeto Connection.
Un objeto Connection representa una conexión a una base de datos.
Una misma aplicación puede tener una o más conexiones con una sola base
de datos o puede tener conexiones con varias bases de datos diferentes.
La forma estándar de establecer una conexión con una base de datos es
llamando al método DriverManager.getConnection.
siguiente código ejemplifica cómo abrir una conexión a una base de datos
• “jdbc:odbc:wombat”: String url = jdbc:odbc:wombat;
• Connection con = DriverManager.getConnection(url);
• Una URL de JDBC facilita una forma de identificar una base de datos de
forma que el driver apropiado la reconozca y establezca una conexión con
ella. La sintaxis estándar para URLs de JDBC es la siguiente:
• Jdbc:<subprotocolo>:<subnombre>
El Objeto Statement
Un objeto Statement se usa para enviar sentencias SQL a una base de datos. Una
vez que se ha establecido una conexión con una base de datos particular, esa
conexión puede ser usada para enviar sentencias SQL. esa conexión puede ser
usada para enviar sentencias SQL.
Creación de objetos Statement
El siguiente código crea un bojeto Statement
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
• La sentencia SQL que será enviada a la base de datos es proporcionada como
argumento a uno de los métodos para ejecutar un objeto Statement:
• ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Nomtable);
EL Objeto ResultSet
Un ResultSet contiene todos los registros (filas) que satisfacen las
condiciones impuestas en una sentencia SQL y proporciona acceso a los
datos en dichos registros a través de un conjunto de métodos get que
permiten acceder a los diferentes campos o atributos (columnas) del
registro actual. Un ResultSet mantiene un cursor que apunta al registro
actual.
El método ResultSet.next() se usa para moverse al siguiente registro del
ResultSet
Los métodos getXXX proporcionan los medios para obtener los valores de
los campos, atributos o columnas del registro actual
la siguiente porción de código imprimiría los valores de todos los registros:
• while(rs.next()){
• int i = rs.getInt(″a″);
• String s = rs.getString(″b″);
• Float f = rs.getFloat(″c″); System.out.println(″ROW= ″ +i+ ″ ″ +s+ ″ ″ + f); }
Ejemplo
Para realizar la conexión a base de datos desde java necesitamos hacer uso de
JDBC. Las bases de datos que deseemos conectar deberán proveernos el driver
JDBC en un empaquetado JAR para añadirlo a las librerías del proyecto.
NetBeans se podría ir al directorio Libraries del Proyecto, hacer clic derecho sobre
el y elegir Add Library y en la lista podría encontrase la que necesitemos, o si
queremos agregarla manualmente Add JAR/Folder y seleccionar desde la dirección
donde lo tenemos almacenado.
Y da clic en add Library.
• Bueno ha hora empieza la programación te lo boy hacer por pates
package beastieux.gui;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.ResultSet;
import javax.sql.rowset.CachedRowSet;
import com.sun.rowset.CachedRowSetImpl;
• public class Ejm1_ConectarDataBase {
• public CachedRowSet Function(String sql)
• {
• try
• {
• Class.forName("Driver");
• String url = "jdbc:motor:servidor:puerto/basededatos";
• Connection con = DriverManager.getConnection(url, "usuario","contraseña");
• Statement s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
• ResultSet.CONCUR_READ_ONLY);
• ResultSet rs= s.executeQuery(sql);
• CachedRowSet crs = new CachedRowSetImpl();
• crs.populate(rs);
• rs.close();
• s.close();
• con.close();
• return crs;
• }
catch(Exception e)
{
System.out.println(e.getMessage());
}
return null;
}
public void StoreProcedure(String sql)
{ try
{ Class.forName("Driver");
String url = "jdbc:motor:servidor:puerto/basededatos";
Connection con = DriverManager.getConnection(url, "usuario","contraseña");
Statement s = con.createStatement();
s.execute(sql);
s.close();
con.close(); }
catch(Exception e)
{ System.out.println(e.getMessage()); }}}
• Como habrán podido apreciar en el código, el manejo de excepciones es
relativamente sencilla, lo ideal sería especificar las excepciones por cada
conexion, statement y resultset para de esa manera asegurarnos que
permanezcan cerradas al finalizar la ejecución o aun cuando existieran
errores; de igual manera sería muy útil obligar a cerrar las conexiones
desde dentro de una clausula finally anexada al try – catch.
• Por último la url de conexión “jdbc:motor:servidor:puerto/basededatos”,
variará a continuación de jdbc, según el motor de base de datos al que
deseemos conectarnos (PostgreSQL, MySQL, Oracle, Derby, etc) , la
dirección IP del servidor, el puerto y finalmente el nombre de la base de
datos al que queramos acceder.

Más contenido relacionado

La actualidad más candente (18)

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
 
Acceso a datos con JAVA
Acceso a datos con JAVAAcceso a datos con JAVA
Acceso a datos con JAVA
 
Curso Básico de JDBC
Curso Básico de JDBCCurso Básico de JDBC
Curso Básico de JDBC
 
Jdbc
JdbcJdbc
Jdbc
 
T2 - JDBC
T2 - JDBCT2 - JDBC
T2 - JDBC
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
JDBC
JDBCJDBC
JDBC
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
[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)
 
Connection
ConnectionConnection
Connection
 
Jdbc
JdbcJdbc
Jdbc
 
Jdbc
JdbcJdbc
Jdbc
 
Jsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD ConexiónJsp servlet- Tutorial BD Conexión
Jsp servlet- Tutorial BD Conexión
 
Trabajo de jdbc
Trabajo de jdbcTrabajo de jdbc
Trabajo de jdbc
 
JDBC
JDBCJDBC
JDBC
 
Jdbc
JdbcJdbc
Jdbc
 

Destacado (10)

Statement
StatementStatement
Statement
 
Seo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hardSeo for your WordPress site doesn’t need to be hard
Seo for your WordPress site doesn’t need to be hard
 
Prepared statement
Prepared statementPrepared statement
Prepared statement
 
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller FinalM04 27 Tips and Tricks for a Successful Deployment - Miller Final
M04 27 Tips and Tricks for a Successful Deployment - Miller Final
 
DAYTON corporate presentation
DAYTON corporate presentationDAYTON corporate presentation
DAYTON corporate presentation
 
Presentación result set
Presentación result setPresentación result set
Presentación result set
 
Coneccion
ConeccionConeccion
Coneccion
 
Java de erlin
Java de erlinJava de erlin
Java de erlin
 
Snehal Thaker
Snehal ThakerSnehal Thaker
Snehal Thaker
 
Presentación1
Presentación1Presentación1
Presentación1
 

Similar a Java con base de datos (20)

Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)Jdbc(JAVA DATABASE CONNECTIVITY)
Jdbc(JAVA DATABASE CONNECTIVITY)
 
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
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base de datos
 
Java DataBase Connectivity
Java DataBase ConnectivityJava DataBase Connectivity
Java DataBase Connectivity
 
Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)Jdbc(desarrollo de software i yanina y yenny)
Jdbc(desarrollo de software i yanina y yenny)
 
Diapositiva jdbc
Diapositiva jdbcDiapositiva jdbc
Diapositiva jdbc
 
Jdbc diapositivva
Jdbc diapositivvaJdbc diapositivva
Jdbc diapositivva
 
Java con base de datos
Java con base de datosJava con base de datos
Java con base 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
 
Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]Java Database Connectivity [JDBC]
Java Database Connectivity [JDBC]
 
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
 
Acceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdfAcceso a datos con JDBC.pdf
Acceso a datos con JDBC.pdf
 
Java con base de datos
Java con base  de datosJava con base  de datos
Java con base de datos
 
Jdbc Mysql
Jdbc MysqlJdbc Mysql
Jdbc Mysql
 
JDBC
JDBCJDBC
JDBC
 
Jdbc (Java Database Connectivity)
Jdbc (Java Database Connectivity)Jdbc (Java Database Connectivity)
Jdbc (Java Database Connectivity)
 

Más de Erlin Darwin Herrera cieza (19)

Sistema para un molino Arrocero
Sistema para un molino ArroceroSistema para un molino Arrocero
Sistema para un molino Arrocero
 
Diapositivas olap
Diapositivas olapDiapositivas olap
Diapositivas olap
 
Copia de seguridad y restaurar
Copia de seguridad y restaurarCopia de seguridad y restaurar
Copia de seguridad y restaurar
 
Segruridad en sql server
Segruridad en sql serverSegruridad en sql server
Segruridad en sql server
 
4 procedimientos-almacenados
4 procedimientos-almacenados4 procedimientos-almacenados
4 procedimientos-almacenados
 
5 cursores
5 cursores5 cursores
5 cursores
 
Vistas
VistasVistas
Vistas
 
Comandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdiiComandos ddl-trabajo-02-bdii
Comandos ddl-trabajo-02-bdii
 
Lenguaje transact-sql
Lenguaje transact-sqlLenguaje transact-sql
Lenguaje transact-sql
 
Ejecutables en netbeans
Ejecutables en netbeansEjecutables en netbeans
Ejecutables en netbeans
 
I report
I reportI report
I report
 
Jdbc
JdbcJdbc
Jdbc
 
Objeto sqlcomand
Objeto sqlcomandObjeto sqlcomand
Objeto sqlcomand
 
Objeto connection
Objeto connectionObjeto connection
Objeto connection
 
Espacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclientEspacio de nombres system.data.sqlclient
Espacio de nombres system.data.sqlclient
 
Ado.net
Ado.netAdo.net
Ado.net
 
Gestor de-base-de-batos
Gestor de-base-de-batosGestor de-base-de-batos
Gestor de-base-de-batos
 
Poo
PooPoo
Poo
 
Programacion capas
Programacion capasProgramacion capas
Programacion capas
 

Último

Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGUROalejandrocrisostomo2
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfFtimaMontserratZaraz
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdffredyflores58
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasDerlyValeriaRodrigue
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdfJlnParada
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................Juan293605
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdfGustavoAdolfoDiaz3
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoGualbertoLopez2
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de GestiónYanet Caldas
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 

Último (20)

Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
Practica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdfPractica_Calificada_03333333333333333.pdf
Practica_Calificada_03333333333333333.pdf
 
entropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemasentropia y neguentropia en la teoria general de sistemas
entropia y neguentropia en la teoria general de sistemas
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
 
ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................ARMADURAS METODO NODOS.pptx......................
ARMADURAS METODO NODOS.pptx......................
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf8 mejores máquinas virtuales para Windows.pdf
8 mejores máquinas virtuales para Windows.pdf
 
Balance materia y energia procesos de Secado
Balance materia y energia procesos de SecadoBalance materia y energia procesos de Secado
Balance materia y energia procesos de Secado
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
Auditoría de Sistemas de Gestión
Auditoría    de   Sistemas     de GestiónAuditoría    de   Sistemas     de Gestión
Auditoría de Sistemas de Gestión
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 

Java con base de datos

  • 1. Carrera: Ingeniería de sistemas y telemática Curso: Desarrollo de software i. Tema: Java con base de datos Docente: Marco Aurelio Porro Chulli Integrantes:  Erlin Darwin herrera cieza.  Yosmer Aguilar cabrera.
  • 2. Primero descargar el controlador JDBC. Java Database Connectivity, más conocida por sus siglas JDBC, es una API que permite la ejecución de operaciones sobre base de datos desde el Lenguaje de programación java, El API JDBC se presenta como una colección de interfaces de java y métodos de gestión de manejadores de conexión hacia cada modelo específico de base de datos. Para utilizar una base de datos particular, el usuario ejecuta su programa junto con la biblioteca de conexión apropiada al modelo de su base de datos, y accede a ella estableciendo una conexión; para ello provee el localizador a la base de datos y los parámetros de conexión específicos. A partir de allí puede realizar cualquier tipo de tarea con la base de datos a la que tenga permiso: consulta, actualización, creación, modificación y borrado de tablas, Si ya lo emos descargado solo le importamos o agregamos a nuestro proyecto.
  • 3. Conectividad de Bases de Datos de Java (JDBC) Se considera el primer producto estándar de Java con DBMS, creado y ofrecido por primera vez en marzo de 1996. Crea una interfaz con un nivel de programación que le permite comunicarse con las bases de datos mediante un concepto similar al de componentes ODBC. El estándar de JDBC está basado en un nivel de interfaz con instrucciones SQL X/Open, que es básicamente lo mismo que en ODBC. El puente JDBC-ODBC manipula la traducción de llamadas JDBC a aquellas que puedan ser entendidas por el cliente ODBC a un nivel de lenguaje C. Las clases de objetos para iniciar la transacción con la base de datos, están escritas completamente en Java .
  • 4. JDBC vs. ODBC En java se usa jdbc por las siguientes maneras • ODBC usa una interface escrita con el lenguaje de programación C. Por lo tanto como que C no es un lenguaje portable las aplicaciones JAVA perderían también automáticamente su portabilidad. • ODBC se ha de instalar manualmente en cada máquina, en cambio los drivers de JDBC como están escritos en JAVA son automáticamente instalables, portables y seguros. Hay que decir también, que existen drivers puente entre JDBC-ODBC. PUENTE JDBC/OBDC Sum ha diseñado un puente que permite utilizar la API de JDBC en combinación con controladores ODBC. JDBC-ODBC bridge plus ODBC driver (tipo 1): este driver fue desarrollado entre Sun e Intersolv y permite al programador acceder a fuentes de datos ODBC existentes mediante JDBC.
  • 5. El primer programa con JDBC la API JDBC incluye varias clases que se deben utilizar para conseguir acceso a una Base de Datos. Clase/Interface Descripción Driver Permite conectarse a una Base de Datos: cada gestor de Base de Datos requiere un Driver distinto. DriverManager Permite gestionar todos los Drivers instalados en el sistema. DriverPropertyInfo Proporciona diversa información acerca de un Driver. Connection Representa una conexión con una Base de Datos. Una aplicación puede tener más de una conexión a más de una Base de Datos. DatabaseMetadata Proporciona información acerca de una Base de Datos, como las tablas que contiene, etc. Statement Permite ejecutar sentencias SQL sin parámetros. PreparedStatement Permite ejecutar sentencias SQL con parámetros de entrada. CallableStatement Permite ejecutar sentencias SQL con parámetros de entrada y salida, típicamente procedimientos almacenados. ResultSet Contiene las filas o registros obtenidos al ejecutar un SELECT. ResultSetMetadata Permite obtener información sobre un ResultSet, como el número de columnas, sus nombres, etc.
  • 6. Como conectarnos a una base de datso. Establecer una conexión con una Base de Datos mediante JDBC es sencillo: en primer lugar, registramos el Driver a utilizar (que en nuestro caso es el puente JDBC/ODBC), mediante el código Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );para que no se produzca un error al momento de conectarnos. A continuación, se lleva a cabo la conexión a la Base de Datos mediante el código Connection conexion = DriverManager.getConnection( urlBD, usuarioBD, passwordBD ); La clase DriverManager gestiona los Drivers registrados en el sistema: al llamar a getConnection, recorre la lista de Drivers cargados hasta encontrar uno que sea capaz de gestionar la petición especificada por urlBD Los parámetros usuarioBD y passwordBD corresponden al nombre del usuario y su contraseña, necesarios la mayor parte de las veces para acceder a cualquier Base de Datos.
  • 7. La cadena utilizada para indicar la Base de Datos siempre tiene tres partes, separadas por el carácter ":". La primera parte es siempre "jdbc". La segunda parte indica el subprotocolo, y depende del Sistema de Gestión de Base de Datos utilizado: en nuestro caso, es "odbc", pero paraSQLAnyware, por ejemplo, es "dbaw". La tercera parte identifica la Base de Datos concreta a la que le deseamos conectar. Y para cerrar la conexión se escribe el siguiente código conexión.close();
  • 8. Al utilizar la API JDBC es posible obtener diversos errores debido a que se ha escrito incorrectamente una sentencia SQL, a que no se puede establecer una conexión con la Base de Datos por cualquier problema, etc. El paquete java.sql proporciona tres nuevas excepciones Excepción Descripción SQLException Error SQL. SQLWarning Advertencia SQL. DataTruncation Producida cuando se truncan datos inesperadamente, por ejemplo al intentar almacenar un texto demasiado largo en un campo.
  • 9. El Objeto Connection. Un objeto Connection representa una conexión a una base de datos. Una misma aplicación puede tener una o más conexiones con una sola base de datos o puede tener conexiones con varias bases de datos diferentes. La forma estándar de establecer una conexión con una base de datos es llamando al método DriverManager.getConnection. siguiente código ejemplifica cómo abrir una conexión a una base de datos • “jdbc:odbc:wombat”: String url = jdbc:odbc:wombat; • Connection con = DriverManager.getConnection(url); • Una URL de JDBC facilita una forma de identificar una base de datos de forma que el driver apropiado la reconozca y establezca una conexión con ella. La sintaxis estándar para URLs de JDBC es la siguiente: • Jdbc:<subprotocolo>:<subnombre>
  • 10. El Objeto Statement Un objeto Statement se usa para enviar sentencias SQL a una base de datos. Una vez que se ha establecido una conexión con una base de datos particular, esa conexión puede ser usada para enviar sentencias SQL. esa conexión puede ser usada para enviar sentencias SQL. Creación de objetos Statement El siguiente código crea un bojeto Statement Connection con = DriverManager.getConnection(url); Statement stmt = con.createStatement(); • La sentencia SQL que será enviada a la base de datos es proporcionada como argumento a uno de los métodos para ejecutar un objeto Statement: • ResultSet rs = stmt.executeQuery(SELECT a, b, c FROM Nomtable);
  • 11. EL Objeto ResultSet Un ResultSet contiene todos los registros (filas) que satisfacen las condiciones impuestas en una sentencia SQL y proporciona acceso a los datos en dichos registros a través de un conjunto de métodos get que permiten acceder a los diferentes campos o atributos (columnas) del registro actual. Un ResultSet mantiene un cursor que apunta al registro actual. El método ResultSet.next() se usa para moverse al siguiente registro del ResultSet Los métodos getXXX proporcionan los medios para obtener los valores de los campos, atributos o columnas del registro actual la siguiente porción de código imprimiría los valores de todos los registros: • while(rs.next()){ • int i = rs.getInt(″a″); • String s = rs.getString(″b″); • Float f = rs.getFloat(″c″); System.out.println(″ROW= ″ +i+ ″ ″ +s+ ″ ″ + f); }
  • 12. Ejemplo Para realizar la conexión a base de datos desde java necesitamos hacer uso de JDBC. Las bases de datos que deseemos conectar deberán proveernos el driver JDBC en un empaquetado JAR para añadirlo a las librerías del proyecto. NetBeans se podría ir al directorio Libraries del Proyecto, hacer clic derecho sobre el y elegir Add Library y en la lista podría encontrase la que necesitemos, o si queremos agregarla manualmente Add JAR/Folder y seleccionar desde la dirección donde lo tenemos almacenado. Y da clic en add Library.
  • 13. • Bueno ha hora empieza la programación te lo boy hacer por pates package beastieux.gui; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; import java.sql.ResultSet; import javax.sql.rowset.CachedRowSet; import com.sun.rowset.CachedRowSetImpl;
  • 14. • public class Ejm1_ConectarDataBase { • public CachedRowSet Function(String sql) • { • try • { • Class.forName("Driver"); • String url = "jdbc:motor:servidor:puerto/basededatos"; • Connection con = DriverManager.getConnection(url, "usuario","contraseña"); • Statement s = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, • ResultSet.CONCUR_READ_ONLY); • ResultSet rs= s.executeQuery(sql); • CachedRowSet crs = new CachedRowSetImpl(); • crs.populate(rs); • rs.close(); • s.close(); • con.close(); • return crs; • }
  • 15. catch(Exception e) { System.out.println(e.getMessage()); } return null; } public void StoreProcedure(String sql) { try { Class.forName("Driver"); String url = "jdbc:motor:servidor:puerto/basededatos"; Connection con = DriverManager.getConnection(url, "usuario","contraseña"); Statement s = con.createStatement(); s.execute(sql); s.close(); con.close(); } catch(Exception e) { System.out.println(e.getMessage()); }}}
  • 16. • Como habrán podido apreciar en el código, el manejo de excepciones es relativamente sencilla, lo ideal sería especificar las excepciones por cada conexion, statement y resultset para de esa manera asegurarnos que permanezcan cerradas al finalizar la ejecución o aun cuando existieran errores; de igual manera sería muy útil obligar a cerrar las conexiones desde dentro de una clausula finally anexada al try – catch. • Por último la url de conexión “jdbc:motor:servidor:puerto/basededatos”, variará a continuación de jdbc, según el motor de base de datos al que deseemos conectarnos (PostgreSQL, MySQL, Oracle, Derby, etc) , la dirección IP del servidor, el puerto y finalmente el nombre de la base de datos al que queramos acceder.