13
Laboratorio Nro. 1 ( Lenguaje de Programacion-1) 1.Ejecutar Netbeans 6.9 y crear un Proyecto Inicial denominado Proyinicial , donde se creara un paquete inicial denominado proyinicia l y una clase Principal que contiene el método main(). a- Elegir File / New Project b- Seleccionar en la categoría Java y en tipo de Proyecto Java Application . pulsar Next> 2.-Crear la clase Personal.java que es una entidad que contiene los datos y las Operaciones de un Trabajador de una Empresa. //--------------------------------------------------------- Principal.java------------------------------------------------------------------------ ---- package cjava;

Laboratorio 1 2 Proyinicial Netebeans Java\

Embed Size (px)

DESCRIPTION

Guia de laboratorio

Citation preview

Page 1: Laboratorio 1 2 Proyinicial Netebeans Java\

Laboratorio Nro. 1 ( Lenguaje de Programacion-1)1.Ejecutar Netbeans 6.9 y crear un Proyecto Inicial denominado Proyinicial , donde se creara un paquete inicial denominado proyinicial y una clase Principal que contiene el método main().

a-Elegir File / New Projectb- Seleccionar en la categoría Java y en tipo de Proyecto Java Application . pulsar Next>

2.-Crear la clase Personal.java que es una entidad que contiene los datos y las Operaciones de un Trabajador de una Empresa.

//---------------------------------------------------------Principal.java----------------------------------------------------------------------------

package cjava;

Page 2: Laboratorio 1 2 Proyinicial Netebeans Java\

public class Personal {

//Atributos de la clase private String codigo; private String nombre; private double sueldo; private boolean estable;

//Constructores de la clase Personalpublic Personal( String codigo,String nombre, double sueldo, boolean estable) { this.codigo= codigo;this.nombre=nombre; this.sueldo=sueldo; this.estable=estable;}public Personal(){}

//Métodos Encapsulados: get y set

public String getCodigo() { return codigo;

}

public void setCodigo(String codigo) { this.codigo = codigo;

}

public String getNombre() { return nombre;

}

public void setNombre(String nombre) { this.nombre = nombre;

}

public double getSueldo() { return sueldo;

}

public void setSueldo(double sueldo) { this.sueldo = sueldo;

}

public boolean isEstable() { return estable;

}

public void setEstable(boolean estable) { this.estable = estable;

}}

//---------------------------------------------------------------------------------------------------------------------- ------------------------------

3- Agregar 2 ventanas ( Formularios : al Paquete proyinicial)

Creacion de un Nuevo Frame

a- Seleccionar el Nombre del Paquete (Proyinicial). Pulsar el Boton derecho del Mouse y seleccionar

New > JFrame Form

b- Se visualizara: el siguiente cuadro

Page 3: Laboratorio 1 2 Proyinicial Netebeans Java\

sh

ara crear la Segunda Ventana (Formulario) denomina

Frmpersonal

Ingresar en Class Name el Nombre del nuevo formulario : Frmmenu .No modificar los demás datos. Finalmente pulsar el Botón FIni

Frmmenu

Repetir el Proceso p do Frmpersonal

Page 4: Laboratorio 1 2 Proyinicial Netebeans Java\
Page 5: Laboratorio 1 2 Proyinicial Netebeans Java\

Laboratorio Nro. 2 ( Lenguaje de Programacion-

DEFINICIÓN DE JDBC

JDBC es el acrónimo de Java Database Connectivity, un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema operativo donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice. JDBC es una especificación de un conjunto de clases y métodos de operación que permiten a cualquier programa Java acceder a sistemas de bases de datos de forma homogénea.

TIPO DE DRIVERSUn driver JDBC es una implementación de varias Interfaces especificadas en los paquetes java.sql y javax.sql posee una capa de software intermediario que traduce las llamadas JDBC a las APIs específicas de cada vendedor. Según su arquitectura, tenemos cuatro tipos:

Tipo I: JDBC-ODBC Bridge

• La primera categoría de drivers es la utilizada por Sun inicialmente para popularizar JDBC y consiste en aprovechar todo lo existente(del Fabricante o Proveedor de BD), estableciendo un puente entre JDBC y ODBC. Este driver convierte todas las llamadas JDBC a llamadas ODBC y realiza la conversión correspondiente de los resultados.

Tipo II: API Nativa

• Es similar a JDBC-ODBC Bridge en el sentido de que el driver utiliza métodos nativos para llamar a funciones API específicas de cada Fabricante. El driver JDBC traduce las llamadas JDBC a llamadas API específicas del vendedor y las envía a la fuente de datos

Tipo III: 100% java a través de Middleware (capa intermedia) de acceso a datos

• Utilizan un servidor Middleware de acceso a datos que tiene la capacidad de conectar múltiples clientes Java a múltiples servidores de Bases de Datos, el driver JDBC envía las llamadas JDBC al servidor Middleware de acceso a datos, este a su vez traduce las llamadas JDBC al driver nativo de Tipo 2 que le corresponda y finalmente las envía a la fuente de datos

Tipo IV: 100% Java a través de conexión de red directa

• Son una alternativa Java puro a los drivers de tipo 2.

• El driver JDBC envía las llamadas JDBC directamente a la fuente de datos a través de un Socket.

• Es el Driver recomendado para realizar aplicaciones Comerciales.

Clases y métodos de JDBC

• JDBC utiliza los mismos métodos y clases independientemente del driver usado para conectar al proveedor de BD, lo que cambia es el nombre del driver por lo que es bastante sencillo modificar aplicaciones al cambiar de proveedor. El código genérico de conexión a una BD es:

• Registrar el driver JDBC usando el cargador de clases Class.forName:

Class.forName ("nombre_del_driver");

• Conectar a la BD usando la interfaz Connection que abre una sesión o conexión con la BD especificada y, mediante el método DriverManager.getConnection, intenta seleccionar el driver apropiado de entre los que JDBC tenga registrados en el sistema:

Connection con = DriverManager.getConnection ("BD_url", "usuario", "password");

• Ejecutar sentencias SQL; la interfaz Statement permite ejecutar las instrucciones SQL y devolver el resultado generado:

Statement select = con.createStatement();

Page 6: Laboratorio 1 2 Proyinicial Netebeans Java\

• La interfaz ResultSet representa un conjunto de datos resultado de una consulta SQL, para acceder a los registros se emplea un cursor que inicialmente apunta antes del primer registro y para avanzar por los registros se emplea el metodo ResultSet.next(). ResultSet es de sólo lectura:

ResultSet nombres = select.executeQuery ("SELECT * FROM Tabla ");

Las consultas Statement tienen métodos diferentes según el tipo de instrucción SQL empleada:executeQuery(String sql): devuelve un objeto ResultSet , que contiene un conjunto de registros

; se utiliza cuando se usa SELECT.

executeUpdate(String sql): ejecuta una instruccion de tipo INSERT, UPDATE o DELETE

Dado que la utilización de un Driver de BD, iniciar una conexión y ejecutar las sentencias de SQL para acceder a las tablas de una BD se realizan cuando la aplicación esta en ejecución ; esto puede generar 2 tipos de Excepciones :ClassNotFoundException y SQLException ( Errores en tiempo de Ejecución) por lo cual Java obliga a utilizar la Instrucción que maneja las Excepciones En Java:

try {

//Operaciones que pueden dar a lugar a una Excepción o error en tiempo de ejecución cuando se realiza E/S

}

catch( Manejador Nombre)

{

// Acciones a ejecutar cuando se produzca la Excepción, para manejarla de la mejor manera posible. Puede haber mas de una clausula catch si son mas de una las excepciones

}

EJEMPLO COMPLETO (conexión con Microsoft Access con DSN)

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection cn;

cn=DriverManager.getConnection("jdbc:odbc:dsnaccess","","");

Statement st=cn.createStatement();

ResultSet rs= st.executeQuery("Select * from facturas");

//Operaciones

// para mostrar los resultados de la consulta en el componente

//seleccionado en en el Frame o Ventana de Java

cn.close();

} catch (ClassNotFoundException c) {

// TODO

System.out.println("ERROR CLASE NO HALLADA:"+c.toString());

} catch (SQLException f) {

// TODO

System.out.println("ERROR EN SQL:"+f.toString());

}

Page 7: Laboratorio 1 2 Proyinicial Netebeans Java\

Clase java.sql.Statement

Se utiliza para enviar las sentencias SQL simples, aquellas que no necesitan parámetros, a la base de datos.

Posee principalmente los siguientes métodos:

executeQuery:

o Usado para Sentencias SELECT. Devuelve un ResultSet.

executeUpdate:

o Usado para sentencias INSERT, DELETE, UPDATE, CREATE. Devuelve un entero.

execute:

o Usado para sentencias desconocidas en tiempo de compilación o que devuelven resultados complejos.

Devuelve true/false.

Un ejemplo práctico de uso sería:

Statement select = conexion.createStatement();

ResultSet resultado = select.executeQuery(“SELECT * FROM [tabla]”);

Page 8: Laboratorio 1 2 Proyinicial Netebeans Java\

PROCESO A DESARROLLAR EN EL LABORATORIO

1-Modificar el Proyecto Proyinicial desarrollado en el Laboratorio 1 y estructurarlo en 3 capas:

capa_lpresentacion , capa_logica y capa_datos . Tendrá la siguiente estructura:

2-El siguiente paso es fundamental: Agregar a la sección de Libraries del Proyecto el Archivo controlador de la BD (driver) a utilizar ,en este caso es sqljdbc4.jar .

La aplicación utilizara las diversas clases e interfaces que incorpora el driver o archivo controlador de la BD, así como sus métodos correspondientes , para acceder a las operaciones a la BD.

-Incorporar al paquete capa_datos la clase base ConexBD.java que ha sido desarrollada en clase y realiza la conexión inicial con una Base de Datos especifica.

Page 9: Laboratorio 1 2 Proyinicial Netebeans Java\

3- El Objetivo de la guia es desarrollar la primera aplicación en Java que interactúe con una base de Datos de Sql Server 2008 (Sistemacont) . Inicialmente se debe configurar el Sql server 2008 para conectarse al servidor con autentificación SQL con el Usuario sa y sin contraseña.

Ejecutar el Sql Management Studio de Microsoft SQL Server 2008. Crear la BD denominada sistemacont que contiene las siguientes tablas:

Page 10: Laboratorio 1 2 Proyinicial Netebeans Java\

4- En la capa_logica crear la Clase PersonalBD la cual se encarga de acceder específicamente a la tabla Personal y debe contener los métodos de mantenimiento de la tabla (agregar, eliminar, consultar , modificar , listado ,…etc). Posteriormente esta clase se subdivide en la Interface IPersonal y la clase PersonalDAO .

Agregar a la clase anterior el Método listado que permite mostrar todos los registros de la tabla Personal en un componente JTable cuyo nombre se especifica como parámetro.