Sie sind auf Seite 1von 6

Creando la base de datos Es de suponer que si ests leyendo esto, tienes ya conocimientos acerca de la creacin de bases de datos en MySQL,

as como instrucciones en general del lenguaje SQL. Por tanto no nos quedaremos en este punto explicando qu es y cmo se usa MySQL, sino que vamos directo a hacer la base de datos (si se le puede llamar as) que usaremos para jugar hacer las pruebas. Entonces, abrimos una consola de SQL y ejecutamos los siguientes comandos: Crear la base de datos y usar la misma: mysql> mysql> use ejemplo create database ejemplo;

Crear la tabla de ejemplo e insertar algunos datos: mysql> create table datos mysql> insert into mysql> insert into mysql> insert into mysql> insert into datos values(4, Fedora); (cod int(2), nombre datos values(1, datos values(2, datos values(3, varchar(30)); Debian); openSuse); Gentoo);

Codificar el programa que consulte dichos datos En pos de no complicar la cosa, y de hacerla ms sencilla, la aplicacin que vamos a hacer NO posee interfaz grfica, es decir, vamos mostrar los datos por la consola. Entonces, lo esencial en este caso es tener instalado el conector de MySQL para JDBC, no ms. Primer programa: consultando la base de datos de manera simple ? import java.sql.*; public class Programa { public static void main(String args[]){ try { //Cargar clase de controlador de base de datos Class.forName("com.mysql.jdbc.<span class="IL_AD" id="IL_AD10">Driver</span>"); //Crear el objeto de conexion a la base de datos Connection conexion =

DriverManager.getConnection("jdbc:mysql://localhost/ejemplo?user=root&amp;password="); //Crear objeto Statement para realizar queries a la base de datos Statement instruccion = conexion.createStatement(); //Un objeto <span class="IL_AD" id="IL_AD4">ResultSet</span>, almacena los datos de <span class="IL_AD" id="IL_AD8">resultados</span> de una consulta ResultSet tabla = instruccion.executeQuery("SELECT cod , nombre FROM datos"); System.out.println("Codigo\tNombre"); while(tabla.next()) System.out.println(tabla.getInt(1)+"\t"+tabla.getString(2)); } catch(ClassNotFoundException e){ System.out.println(e); } catch(SQLException e){ System.out.println(e); } catch(Exception e){ System.out.println(e); } } } Cosas por explicar en el programa anterior:

Es necesario importar el paquete java.sql Class.forName(com.mysql.jdbc.Driver); Con esta instruccin cargamos el driver de conexin a la base de datos en MySQL. Si somos algo curiosos, podemos notar que dentro del conector (en mi caso mysql-connector-java-5.1.5-bin.jar), se encuentra el archivo Driver.class dentro de las carpetas com/mysql/jdbc. DriverManager.getConnection Luego de cargar el Driver, es necesario crear la conexin a la base de datos. Para ello usamos el mtodo getConnection de la clase DriverManager (que implementa la clase Driver). A dicho mtodo le pasamos como parmetro una URL de conexin a la base de datos, que se compone, por lo general, de tres partes separados por :, jdbc:nombre_dbms:datos_de_conexion. Aunque esto depende del tipo de DMBS y conector que usemos. (Para ms detalles de la URL, ver la documentacin especfica para el conector). Este mtodo adems, devuelve un objeto Connection que usaremos para crear y ejecutar sentencias SQL, sobre la base de datos.

conexion.createStatement(); este mtodo crea/decuelve un objeto Statement, con el cual podremos ejecutar sentencias en la base de datos. instruccion.executeQuery(); este mtodo sirve para ejecutar consultas sobre la base de datos (para insercin y modificacin de datos usar executeUpdate()). Recibe como parametro una sentencia SQL, y devuelve un objeto ResultSet que contendr los datos de la consulta. while(tabla.next()) esto nos permitir iterar indefinidamente, mientras en el objeto ResultSet hayan ms registros.
o

Posteriormente, dentro del while, podemos obtener los datos de la fila actual con los mtodos getInt(int) y getString(int) de ResultSet. A dichos mtodos le pasamos como parametro el indice de la columna que queremos obtener. Es importante tener en cuenta que en dichos mtodos, si una tabla tiene 3 columnas, las referenciamos como 1, 2 y 3. No como en otros lenguajes (PHP por ejemplo), en los que los ndices seran 0, 1, 2.

Las excepciones que manejamos son bsicamente: ClassNotFoundException, que se lanzar por lo general cuando el programa no encuentre el Driver. SQLException, que se lanzar cuando hayan errores a nivel de SQL (errores al insertar datos, errores de sintaxis en las consultas, etc.).

Segundo programa: consultando la base de datos de manera elegante Veamos entonces otra forma de consultar (los mismos datos), pero de una manera un poco ms elegante: ? 0 import java.sql.*; 1 public class Programa2 { 0 2 public static void main(String args[]){ 0 { try 3 //Cargar clase de controlador de base de datos 0 Class.forName("com.mysql.jdbc.Driver"); 4 //Establecer conexion a la base de datos 0 5 Connection

conexion

0 DriverManager.getConnection("jdbc:mysql://localhost/ejemplo?user=root&amp;password="); 6 //Crear objeto Statement para realizar queries a la base de datos 0 Statement instruccion = conexion.createStatement(); 7 //Consultar a la base de datos 0 8 ResultSet conjuntoResultados = instruccion.executeQuery("SELECT cod AS Codigo, nombre AS Nombre FROM datos"); 0 9 //Procesar los resultados de la consulta 1 StringBuffer resultados = new StringBuffer(); 0 ResultSetMetaData metaDatos = conjuntoResultados.getMetaData(); 1 int 1 numeroDeColumnas = metaDatos.getColumnCount(); for(int i = 1; i <= numeroDeColumnas; i++) 1 2 resultados.append(metaDatos.getColumnName(i)+"\t"); 1 resultados.append("\n"); 3 while(conjuntoResultados.next()) { 1 4 for(int i = 1; i <= numeroDeColumnas; i++) 1 resultados.append(conjuntoResultados.getObject(i) + "\t"); 5 resultados.append("\n"); 1 } 6 System.out.println(resultados.toString()); 1 7 } 1 catch(ClassNotFoundException e){ System.out.println(e); } 8 catch(SQLException e){ System.out.println(e); } 1 9 catch(Exception e){ System.out.println(e.getMessage()); } 2 } 0 } 2

Miremos las diferencias:

En este caso, adems de usar elobjeto ResultSet para almacenar los datos, usaremos un objeto ResultSetMetaData para obtener los meta-datos de la consulta (los nombres de las columnas, por ejemplo). metaDatos.getColumnCount(); este mtodo retorna un entero con el nmero de columnas que posee una consulta. metaDatos.getColumnName(i) este mtodo devuelve el nombre de la columna i. conjuntoResultados.getObject(i) este mtodo devuelve un objeto tipo Object que contendr los datos de la fila actual, y de la columna i.

Conceptos bsicos de Programacion Orientada a Objetos . Qu son los objetos?

En informtica, un OBJETO es un conjunto de variables y de los mtodos relacionados con esas variables.

Un poco ms sencillo: un objeto contiene en s mismo la informacin y los mtodos o funciones necesarios para manipular esa informacin.

Lo ms importante de los objetos es que permiten tener un control total sobre 'quin' o 'qu' puede acceder a sus miembros, es decir, los objetos pueden tener miembros pblicos a los que podrn acceder otros objetos o miembros privados a los que slo puede acceder l. Estos miembros pueden ser tanto variables como funciones.

El gran beneficio de todo esto es la encapsulacin, el cdigo fuente de un objeto puede escribirse y mantenerse de forma independiente a los otros objetos contenidos en la aplicacin. . Qu son las clases?

Una CLASE es un proyecto, o prototipo, que define las variables y los mtodos comunes a un cierto tipo de objetos.

Un poco ms sencillo: las clases son las matrices de las que luego se pueden crear mltiples objetos del mismo tipo. La clase define las variables y los mtodos comunes a los objetos de ese tipo, pero luego, cada objeto tendr sus propios valores y compartirn las mismas funciones.

Primero deberemos crear una clase antes de poder crear objetos o ejemplares de esa clase. . Qu son los mensajes?

Para poder crear una aplicacin necesitars ms de un objeto, y estos objetos no pueden estar aislados unos de otros, pues bien, para comunicarse esos objetos se envan mensajes.

Los mensajes son simples llamadas a las funciones o mtodos del objeto con el se quiere comunicar para decirle que haga cualquier cosa. . Qu es la herencia?

Qu significa esto la herencia, quen hereda qu; bueno tranquilo, esto slo significa que puedes crear una clase partiendo de otra que ya exista.

Es decir, puedes crear una clase a travs de una clase existente, y esta clase tendr todas las variables y los mtodos de su 'superclase', y adems se le podrn aadir otras variables y mtodos propios.

Se llama 'Superclase' a la clase de la que desciende una clase, puedes ver ms sobre la declaracin de clases en la pgina Declarar Clases.

Das könnte Ihnen auch gefallen