Archivo

Posts Tagged ‘BD’

Introduction To Oracle9i – PL/SQL – Student Guide

MySQL + Java + NetBeans [ Conectar a una Base de datos con JAVA ]

Este es un tutorial de lo que aprendi hoy xD, muestra como conectar a una base de datos (MYSQL) usando como lenguaje de programacion JAVA y como IDE NetBeans.

Primero que todo debemos instalar en nuestras máquinas MySQL , yo tengo xUbuntu asi que lo instalo abriendo una Terminal y escribiendo lo siguiente:

sudo apt-get install mysql-server mysql-client

Una vez instalado se cambia la contraseña (password), para eso tecleamos:

sudo /usr/bin/mysqladmin -u root password 

cambiando <tuclave> por la contraseña … ejemplo:

sudo /usr/bin/mysqladmin -u root password 123456

y ya tienes instalado MySQL :D , para entrar solo teclea:

mysql -u root -p

Una vez dentro de la consola mysql podremos crear bases de datos, tablas, seleccionar, etc…
Para crear una base de datos se usa el comando

create database  ;

ejemplo:

create database test;

Para entrar a la base de datos creada usamos el comando

use  ;

ejemplo:

use test;

Ojo con los punto y comas «;»
Ya dentro de la base de datos podremos ejecutar sentencias DDL y DML

Ahora para efecto del tutorial creamos dos tablas, una tabla alumno y otra tabla nota , cada nota tiene referenciado un rut de algun alumno.

en la misma consola escribimos:

CREATE TABLE alumno (
rut integer,
nombre varchar(100),
direccion varchar(100),
CONSTRAINT pk_alumno_rut PRIMARY KEY(rut)
);
CREATE TABLE nota (
rut integer,
nota double,
CONSTRAINT fk_nota_rut FOREIGN KEY(rut) REFERENCES alumno(rut)
);

ahora insertamos algunos datos a esas tablas

INSERT INTO alumno VALUES
(123456,"Esteban Fuentealba","Talcahuano lalal 368"),
(654321,"Juan Perez","Lalalala 87 chile"),
(47,"Homero Simpson","Avenida siempre viva,Springfield");

y por ultimo ingresamos algunas notas

INSERT INTO nota VALUES
(123456,7.0),
(47,3.5),
(654321,6.1);

Ahora, teniendo una base de datos poblada, nos vamos a netbeans y creamos un nuevo proyecto
File/New Proyect y seleccionamos Java / Java Aplication , Le ponemos cualquier nombre.

Aqui dejo el codigo comentado paso a paso:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package mysqljava;
/*
*  Importamos todas las clases el package java.sql
*/
import java.sql.*;
import java.util.logging.Level;
import java.util.logging.Logger;
/**
*
* @author esteban
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args)  {
/*
Declaramos una variable "con" del tipo Connection
con ello podremos conectarnos a la base de datos
*/
Connection con = null;
try {
/*
Seteamos el driver-libreria de nuestro motor que usaremos, MySQL
*/
Class.forName("com.mysql.jdbc.Driver").newInstance();
/*
Creamos la coneccion, pasamos como parametros:
* /
* jdbc:mysql://localhost/test
*
* 
* root
*
* 
* root
*/
con = DriverManager.getConnection("jdbc:mysql://localhost/test", "root", "root");
if (con != null) {
/*
creamos un objeto Statement , con el podremos enviar al servidor sql  consultas
*/
Statement st = con.createStatement();
/*
Ahora enviaremos una consulta para seleccionar todos los alumnos y que nota se han sacado
y lo guardaremos en un objeto del tipo ResultSet
*/
ResultSet r = st.executeQuery("SELECT a.nombre as nombre, n.nota as nota FROM alumno a,nota n WHERE n.rut = a.rut ORDER BY n.nota");
/*
Iteramos el resultado para mostrar cada fila y especificamos que columna queremos con el metodo getString o getDouble segun este en la base de datos
*/
while(r.next()) {
/*
Imprimo por consola el nombre y la nota de todos los alumnos ingresados a la base de datos
*/
System.out.println("[Alumno: "+r.getString("nombre")+"] [Nota:"+r.getDouble("nota")+"]");
}
}
} catch (InstantiationException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (ClassNotFoundException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
} catch (SQLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}

}

Por ultimo, falta lo mas importante, agregar a nuestro proyecto los drivers de MySQL para ser usados con JAVA, el driver (libreria) la pueden descargar desde la pagina de MySQL .

Una vez descargado el mysql-connector-java-X.X.X lo descomprimen y lo agregan al proyecto:

Click derecho en Libraries / Add Jar-Folder y buscamos el archivo que descomprimimos , en mi caso agregue mysql-connector-java-5.1.7-bin.jar

Compilamos , Corremos la aplicacion y el resultado es algo como esto

init:
deps-jar:
compile:
run:
[Alumno: Homero Simpson] [Nota:3.5]
[Alumno: Juan Perez] [Nota:6.1]
[Alumno: Esteban Fuentealba] [Nota:7.0]
BUILD SUCCESSFUL (total time: 10 seconds)

Los alumnos ordenados por nota de menor a mayor xD
Descargar Codigo Fuente :
mysqljava

Espero que les sirva,

Saludos!.

Categorías: Java Etiquetas: , , , ,