Ejemplo de Java + SQL + Netbeans

22 07 2008

Después de un poco de retraso de este post y de tener un poco de tiempo sin postear algo, traigo este ejemplo (el tercero) de Java y MySQL bajo la plataforma Netbeans. El propósito de este post es crear una clase que realmente realiza las acciones básicas (agregar, modificar, eliminar, consultar) pero implementadas de una «mejor manera» comparada con los otros post que hay en este blog sobre este tema (tampoco quiero decir que sea la mejor ni mucho menos).

La base de datos que usaremos para este ejemplo es la siguiente:

  • BD: prueba.
  • tabla: usuarios.
  • campos: id(autoinc), nombre, contraseña.

Diagrama de clases:

Bueno, primero que nada empezaremos con nuestra clase que contendrá los métodos de las acciones que vamos a realizar.

import java.sql.*;
import java.util.Hashtable;

public class SQLconnection {
private String user;
private String password;
private String db;
private String host;
private String url;
private Connection conn = null;
private Statement stm;
private ResultSet rs;

public SQLconnection()
{
this.url = «jdbc:mysql://» + this.host + «/» + this.db;
}

public SQLconnection (String server, String usuario, String contraseña, String bd)
{
this.user = usuario;
this.password = contraseña;
this.db = bd;
this.host = server;
this.url = «jdbc:mysql://» + this.host + «/» + this.db;
}

public void connectar()
{
try {
Class.forName(«org.gjt.mm.mysql.Driver»);
conn = DriverManager.getConnection(url, user, password);
if (conn != null)
{
System.out.println(«Conexión a base de datos «+url+» … Ok»);
stm = conn.createStatement();
}
}
catch(SQLException ex) {
System.out.println(«Hubo un problema al intentar conectarse con la base de datos «+url);
}
catch(ClassNotFoundException ex) {
System.out.println(ex);
}
}

public String getDb() {
return db;
}

public void setDb(String db) {
this.db = db;
}

public String getHost() {
return host;
}

public void setHost(String host) {
this.host = host;
}

public String getPassword() {
return password;
}

public void setPassword(String password) {
this.password = password;
}

public String getUser() {
return user;
}

public void setUser(String user) {
this.user = user;
}

public ResultSet consultar(String tabla) throws SQLException
{
rs = stm.executeQuery(«SELECT * FROM » + tabla);
return rs;
}

public String buscarNombre(String tabla, String nombre) throws SQLException
{
String name = null;
try{
rs = stm.executeQuery(«SELECT * FROM » + tabla + » WHERE nombre = ‘»+ nombre +»‘ LIMIT 1″);
rs.next();
name = rs.getString(2);
}catch(SQLException ex){System.out.println(ex);}
return name;
}

public void insertar(Hashtable usuario)
{
try {
stm.execute(«INSERT INTO usuarios (nombre, contraseña) VALUES (‘» + usuario.get(«nombre») + «‘,'» + usuario.get(«contraseña») + «‘)»);
} catch (SQLException ex) {
System.out.println(ex);
}
}

public void actualizar(String tabla, Hashtable usuario, String nombre)
{
try {
stm.execute(«UPDATE » + tabla + » SET nombre='» + usuario.get(«nombre») + «‘ WHERE nombre='» + nombre + «‘»);
} catch (SQLException ex) {
System.out.println(ex);
}
}

public void eliminar(String tabla, String nombre)
{
try {
stm.execute(«DELETE FROM » + tabla + » WHERE nombre='» + nombre + «‘»);
} catch (SQLException ex) {
System.out.println(ex);
}
}
}

Como podemos observar, esta clase cuenta con sobrecarga de constructores lo cual nos permite conectarnos de 2 maneras distintas a la base de datos. La primera es utilizar el constructor que no recibe ningún parámetro y definirlos mediante los métodos set y get para después llamar al método conectar. La segunda es enviarle directamente los valores al constructor  y, al igual que en la forma anterior, ejecutar el método conectar, y esta será la forma que usaremos para nuestro ejemplo.

Primero que nada vamos a conectarnos a nuestra base de datos y realizaremos una consulta de todos los registros:

SQLconnection con = new SQLconnection(«localhost», «usuario», «contraseña», «prueba»);
con.connectar();
ResultSet rs;
rs = con.consultar(«usuarios»);
while(rs.next()){
System.out.println(rs.getString(1));
System.out.println(rs.getString(2));
System.out.println(rs.getString(3));
}

En esta clase también implementamos una opción que nos permite realizar búsquedas por medio de nombres(es el campo de la base de datos que elegí para este ejemplo); ha este método le mandamos 2 parámetros, que son la base de datos y el nombre:

System.out.println(con.buscarNombre(«usuarios», «frago»));

Para insertar un nuevo registro vamos a hacer uso del Hastable para enviarle los valores que queremos agregar:

Hashtable usuario = new Hashtable();
usuario.put(«nombre», «frago»);
usuario.put(«contraseña», «xxx»);
con.insertar(usuario);

Para eliminar un registro simplemente le ejecutamos el método correspondiente y le pasamos como parametros la tabla y el nomrbe del usuario a eliminar:

con.eliminar(tabla, «frago»);

Para actualizar un registro le tenemos que pasar 3 parámetros al método. EL primero es el nombre de la tabla; el segundo es un Hastable en el que se incluya la modificación que se quiere realizar y el tercer es, en este caso, el nombre de la persona a la que se le va realizar la modificación:

Hashtable usuario = new Hashtable();
usuario.put(«nombre», «frago1»);
con.actualizar(tabla, usuario, «frago»);

El proyecto en netbeans pueden descargarselo AQUI





Memoria USB con forma de ipod

11 07 2008

Hace un tiempo había visto una memoria USB que también es muy curiosa (de la cual también quiero una), y esta tampoco pudo dejar de llamar mi atención es muy curiosa, además su aspecto es divertido 😛 .

Existen 2 modelos: de 1 Gb (19.95 libras) y de 2 GB (24.95 libras). Si están un poco caras comparadas con los precios de la memorias «normales» que normalmente tenemos pero yo definitivamente si me compraría una.

Si quieren una pueden comprarla por acá





Tumba geek…wtf?

11 07 2008

interesante no?

via: Humor geek





¿Qué pasaría si se estrellara un meteoro contra la tierra?

6 07 2008

Esta es una impresionante representación de lo que pasaría si un asteroide de semejante tamaño impactara en nuestro planeta, lo curioso es que esto dicen podría suceder en el 2012 al igual que el supuesto «final del internet» jajaja. Demasiados malos presagios para ese año no???





El final del internet, 2012

5 07 2008

Sinceramente no se que tan cierta sea esta noticia, que la verdad me tomó por sorpresa. Primeramente vi la noticia en un «nic» de un contacto del msn, y después fui a preguntarle a Google y me encontré con esta página en la cual no dan mucha información pero según dice van a ponerle fin a la neutralidad en la red, y la reconvertirán al modelo televisivo. Insisto, desconozco que tan cierta sea esta noticia, sobre todo me sorprendió demasiado que una empresa como Google piense en hacer algo así (si es que es verdad esta noticia).

Por acá encontré más información acerca de esto y un video referente a este tema.

Espero sus comentarios!!!





Meme: ¿Qué harías en caso de ataques de zombies?

2 07 2008

Pecesama me ha pasado este meme llamado: ¿Qué harías en caso de ataques de zombies?, y el escenario es el siguiente:

Te encuentras en un centro comercial, cuando sin aviso alguno, los Zombies comienzan a atacar, tú tienes:

  1. Un arma
  2. Una canción sonando a todo volumen en las bocinas.
  3. Una persona famosa peleando a tu lado.

Mis elecciones:

  1. Arma: definitivamente usaría un Lightsaber, desde que los ví en star wars siempre quise tener uno. También me pasó por mi mente el tan famoso «Mosquetón mexicano«, ese que cargamos casi todos los sabados en el servicio militar, aunque no creo que sea tan efectivo.
  2. Cación: tuve que escoger de entre varias pero creo que seria: White collar de Haste the day.
  3. Persona famosa: Jacki Chan, aunque la opción que pone pecesama de Jenifer Garner interpretando a Elektra no es nada mala, incluso podríamos poner al personaje de este video, aunque creo que ese no es famoso jajaja.

Le paso este meme a Rigo, Matt y Pogo (también al que lo quiera tomar).





Canciones de programación…WTF?

30 06 2008

jajajaja pues ahora les traigo 2 videos de canciones que tienen que ver con la programación WTF?. Es increible lo  que llegan a inventar jajaja, pero de verdad me causaron gracia y un gran WTF?

1.- El primer video se titula «Somos programadores», principalmente hacen referencia a Borland y C++

2.- El segundo video se llama «El reguetón del programador», en lo que me parece que acierta mucho este video es en la «mención» que hacen de visual basic jejeje, por lo mismo intento utilizarlo lo menos posible xD





Buena versión de la canción de Marios bros

22 06 2008

Ahora les presento un video, de algo de lo que más me gusta hacer, de una estupenda versión de la canción de Mario Bros hecha por vadrum.





Proto-galleta

13 06 2008

jajajaja, en verdad que ingenio tuvo el que la hizo, nos hace recordar esos momentos en los que somos los últimos en salir de la escuela armando ese tipo de cosas, así como dijeran en el blog de pechis: «Voy a hacer el Sistema Maximo» – Bruno, jajajajaj





Borrador geek

13 06 2008

Después de un buen rato sin postear por acá debido al exceso de trabajo que había tenido xD. Pues les dejo esta imagen, yo la verdad quiero uno de esos jajaja