Sie sind auf Seite 1von 28

Modulo IV

Mtodos sobre Cargados


Este lenguaje permite la sobrecarga de mtodos, es decir, crear varios mtodos con el mismo nombre y diferentes colecciones de argumentos. La eleccin de ejecutar un mtodo u otro depender de la coleccin de argumentos que usa, inicialmente se busca un mtodo que tenga la misma distribucin de argumentos. Ejemplo: Veamos un mtodo que se desea sobrecargar: public void cambiarTamano(int tamano, String nombre, float patron){ } Los siguientes mtodos son sobrecargas legales del mtodo cambiarTamano(): public void cambiarTamano(int tamano, String nombre){} public int cambiarTamano(int tamano, float patron){} public void cambiarTamano(float patron, String nombre) throws IOException{}

Ejemplo de una clase con un mtodo sobrecargado:


public class Sobrecarga { public void Numeros(int x, int y){ System.out.println("Mtodo que recibe enteros."); } public void Numeros(double x, double y){ System.out.println("Mtodo que recibe flotantes."); } public void Numeros(String cadena){ System.out.println("Mtodo que recibe una cadena: "+ cadena); } public static void main (String... args){ Sobrecarga s = new Sobrecarga(); int a = 1; int b = 2; s.Numeros(a,b); s.Numeros(3.2,5.7); s.Numeros("Monillo007"); } }

Palabra resevada this


Referenciar una instancia de una clase interna o externa dentro de una clase interna:: De antemano sabemos (o debemos saber) que la manera en que un objeto hace referencia hacia l mismo es mediante la referencia this. Revisemos un poco la referencia this:

+ La palabra reservada this puede ser utilizada solamente dentro del cdigo de instancia de una clase y no dentro de cdigo esttico. + Al referenciar con this, hacemos referencia(valga la redundancia) al objeto que se est ejecutando actualmente. + La referencia this es la manera en que un objeto puede pasarse a s mismo como parmetro hacia un mtodo. P. ej.:

public void miMetodo(){ MiClase mc = new MiClase(); mc.hacerAlgo(this); //se pasa como parmetro el objeto actual. }

Constructores SobreCargados
Sobrecargar un constructor significa escribir versiones mltiples del constructor de una clase, cada uno de ellos con una lista diferente de argumentos, algo parecido a lo que se muestra a continuacin:
class Animal{

Animal(){}

Animal(String nombre){}

Animal(String nombre, int edad){}

En la clase anterior (la clase Animal) podemos identificar que existen 3 constructores sobrecargados, uno que toma una cadena como argumento, otro que toma una cadena y un entero y otro sin argumentos.

Excepciones
Este lenguaje Java tiene desde su origen una vocacin de independencia del sistema operativo, lo que le confiere unas caractersticas que permiten su ejecucin en redes de ordenadores con diferentes sistemas operativos, acceso remoto a objetos en otras maquinas de red, etc. Todas estas ejecuciones son una fuente principal de errores en especial el uso de perifricos como son: teclado, impresora, escanner, etc.

Todas estas circunstancias pueden provocar desastres en la ejecucin del programa que suponen la finalizacin de la aplicacin de forma descontrolada dejando ficheros abiertos, prdida de datos por falta de su archivo. Dentro de este lenguaje existe una estructura que puede controlar errores, creando el concepto de excepcin, que es un objeto que se genera automticamente cuando se produce un acontecimiento circunstancial.

Estructura Try catch


Try{ [Bloque de sentencias que se ejecutan en circunstancias normales] } catch (Clase Excepcin1 e){ [Bloque que se ejecutan si se ha producido una excepcin de la clase Excepcin2] } catch (Exception e){ [Bloque que se ejecutan si se ha producido una excepcion no capturada anteriormente] }finally {

[Bloque de sentencias que se ejecutan siempre]


}

Sentencia Import
Es una de las sentencias mas fundamentales cuando se invoca alguna funcionalidad especial dentro de un mtodo en java.

Esta sentencia tiene como objetivo fundamental de traer todas las funcionalidades de una diversidad de paquetes.

Ejemplo:

Ejercicio
CANTV Posee dos tipos de clientes: Residencial y Empresarial, realice un algoritmo que permita procesar n cantidad de clientes teniendo como datos por C/U. de ellos: Cdigo del Cliente, Tipo de Cliente, Lectura Actual, Lectura Anterior; Calculando y dando como salida la cantidad de Impulsos consumidos y el neto a pagar por cada cliente. Los Impulsos se cobran a razn de: Residencial 25 Bs. Empresarial 35 Bs. Nota: Cant. De Imp = L. Actual - L. Anterior.

(JDBC) JAVA DATABASE CONNECTIVITY

JDBC es una API estndar que implementa la estrategia universal de acceso


a datos de JAVA. La API JDBC es una parte integral de la plataforma Java. Desde J2SE

1.4/J2EE 1.4. se incluye JDBC 3.0.


JDBC es usado por aplicaciones de escritorio, applets y servlets.

Estructura de jdbc

(JDBC) JAVA DATABASE CONNECTIVITY


El paquete java.sql contiene el conjunto de interfaces que define el API JDBC. Este paquete es parte de J2SE. La API JDBC provee una interface de programacin nica, que independiza a las aplicaciones del motor de base de datos usado. Incluye manejo de conexiones a base de datos, ejecucin de sentencias SQL, store procedures, soporte de transacciones, etc. La API JDBC define un conjunto de interfaces que el proveedor de base de datos implementa, en un cdigo llamado driver JDBC.

(JDBC) JAVA DATABASE CONNECTIVITY

El driver JDBC es usado por la JVM para traducir las invocaciones JDBC genricas en invocaciones que la base de datos propietaria entiende. Los drivers son clases Java que se cargan en ejecucin. Usando JDBC se puede escribir cdigo para: Conectarse a uno o ms servidores de base de datos Ejecutar comandos SQL Obtener un conjunto de resultados ( ResultSet) que permiten desplazarse sobre el resultado de una consulta (Select) Obtener la informacin Meta (Estructura) de un servidor base de datos (Esquemas y tablas).

ELJDBC API JDBC esta presente en el JDK de Java ( desde el JDK 1.1).
Los paquetes que lo conforman : java.sql javax.sql paquete opcional que se incluye en JDBC 2.0 o posterior El cdigo es independiente del gestor que utilicen Portable

Escalable

ESQUEMA DE USO DE JDBC EN APLICACIONES JAVA


Una Aplicacin Java puede establecer una conexin a una Base de Datos, por medio de: Driver Manager: Clase encargada de crear objetos de tipo Connection a partir de la carga previa de un driver JDBC. Data Source: Una fuente de datos que reside normalmente en un servidor de aplicaciones, y acta como middleware, contiene la configuracin de las fuentes de datos de las cuales se crear un objeto de tipo Connection. La clase Connection es la ms importante y la encargada de la ejecucin de sentencias utilizado el driver JDBC, manejo de transacciones, niveles de aislamiento, etc..

Cargar y registrar Driver odbc

Cargar el driver de Microsoft Access


Dentro de la clase conexin utilizar la siguiente sentencia: String url = jdbc:odbc:Driver= Microsoft Access Driver (*.mdb); DBQ = Ubicacin de la base de datos.mdb o .accdb Luego: Connection con = DriverManager.getConnection(url);

Procesos ACME
"INSERT INTO tabla(campo1, campo2, campo3, campo4, campo5) VALUES(+NombreVariable.getText ()+,?,?,?,?)";

SELECT Campo1, Campo2 FROM tabla WHERE campoindice=?

"UPDATE tabla SET campo1=14 WHERE campoindice =?

DELETE FROM Tabla WHERE campo = valor

Proceso Actualizar - guardar


Es un proceso para guardar informacin a la tabla, para crearlo: Crear una variable String con la sentencia sql:"INSERT INTO CAFE(NOMBRE_CAFE, SUP_ID, PRECIO, VENTA, TOTAL) VALUES(?,?,?,?,?)"; Dentro de un try catch insertar el siguiente cdigo: PreparedStatement sentencia = cnx.con.prepareStatement(sql); sentencia.setString(1, "MOCACHINO"); sentencia.setInt(2, 0001); sentencia.setFloat(3, 12); sentencia.setFloat(4, 1);

sentencia.setInt(5, 0);
int filas = sentencia.executeUpdate();

Los metodos get


El objeto ResultSet devuelto por el mtodo executeQuery(), permite recorrer las filas obtenidas, no proporciona informacin referente a la estructura de cada una de ellas; para ello se utiliza ResultSetMetaData, que permite obtener el tipo de cada campo o columna, su nombre, si es del tipo autoincremento, si es sensible a maysculas, si se puede escribir en dicha columna, si admite valores nulos, etc. Para obtener un objeto de tipo ResultSetMetaData basta con llamar al mtodo getMetaData() del objeto ResultSet. En la lista siguiente aparecen algunos de los mtodos ms importantes de ResultSetMetaData, que permiten averiguar toda la informacin necesaria para formatear la informacin correspondiente a una columna, etc.

Mtodos getxxx
getCatalogName() Nombre de la columna en el catlogo de la base de datos getColumnName() Nombre de la columna getPrecision() Nmero de dgitos de la columna getScale() Nmero de decimales para la columna getColumnType() Tipo de la columna (uno de los tipos SQL en java.sql.Types) getColumnTypeName() Nombre del tipo de la columna

getColumnLabel() Nombre a utilizar a la hora de imprimir el nombre de la columna

getColumnDisplaySize() Ancho mximo en caracteres necesario para isSigned() mostrar el contenido de la columna Para nmeros, indica si la columna getColumnCount() corresponde a un nmero con signo Nmero de columnas en el ResultSet isAutoIncrement() getTableName() Indica si la columna es de tipo Nombre de la tabla a que pertenece la autoincremento columna

Mtodos getxxx
isCurrency() Indica si la columna contiene un valor monetario isDefinitivelyWritable() Indica si es absolutamente seguro que la columna se puede modificar

isCaseSensitive() isSearchable() Indica si la columna contiene un texto sensible a Indica si es posible utilizar la columna para maysculas determinar los criterios de bsqueda de un SELECT isNullable() Indica si la columna puede contener un NULL getSchemaName() SQL. Puede devolver los valores Devuelve el texto correspondiente al esquema columnNoNulls, columnNullable o de la base de datos para esa columna columnNullableUnknown, miembros finales estticos de ResultSetMetaData (constantes) En general pues, los objetos que se van a poder encontrar en una aplicacin que utilice JDBC, isReadOnly() sern los que se indican a continuacin. Indica si la columna es de solo lectura isWritable() Indica si la columna puede modificarse, aunque no lo garantiza

Proceso consultar
Con este cdigo puedes pedirle al sistema mostrar alguna informacin que el usuario mandar a pedir. Para crearlo se debe agregar el siguiente cdigo: Colocar una variable String con la siguiente sentencia: "SELECT NOMBRE_CAFE, PRECIO FROM CAFE";

Luego dentro de un Try catch colocar el siguiente cdigo:


PreparedStatement sentencia = cnx.con.prepareStatement(query); ResultSet result = sentencia.executeQuery(); while(result.next()){

String nombre = result.getString("NOMBRE_CAFE");


float precio = result.getFloat("PRECIO"); System.out.println("El Nombre del Cafe: "+ nombre+ " Vale: "+ precio); }

Proceso modificar
Nos permite modificar un registro especifico, para crearlo hacemos los siguiente:
Creamos una variable String con la siguiente sentencia sql: "UPDATE CAFE SET PRECIO = 13.5 WHERE SUP_ID =?"; Dentro de un try catch colocar el siguiente codigo: PreparedStatement stmup = cnx.con.prepareStatement(querywork); stmup.setInt(1, 1); int retorno = stmup.executeUpdate();

Proceso eliminar
Como su nombre indica, consiste en borrar todos los registros, uno es especifico de acuerdo a las necesidades del usuario. Para crearlo hacemos lo siguiente: Hacemos una variable String con la siguiente sentencia SQL: "DELETE FROM CAFE"; Dentro de un Try catch escribir el siguiente codigo: PreparedStatement stmdel = cnx.con.prepareStatement(query); int x = stmdel.executeUpdate(); System.out.println("Numero de filas eliminadas: "+ x);

Das könnte Ihnen auch gefallen