You are on page 1of 4

Ejemplo de Java + SQL + Netbeans

22072008
Despus 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 propsito de este post es crear una clase que realmente realiza las acciones bsicas (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, contrasea. Diagrama de clases:

Bueno, primero que nada empezaremos con nuestra clase que contendr los mtodos de las acciones que vamos a realizar. import import java.util.Hashtable; public private private private private private private Connection class String String String String String conn = SQLconnection { user; password; db; host; url; null; java.sql.*;

private private ResultSet rs; public { this.url } public { this.user this.password this.db this.host this.url } public { try Class.forName(org.gjt.mm.mysql.Driver); conn if { System.out.println(Conexin stm } } catch(SQLException System.out.println(Hubo } catch(ClassNotFoundException System.out.println(ex); } } public return } public this.db } public return } public this.host } public return } public this.password } void void void un problema al a base = = = jdbc:mysql:// + SQLconnection (String server, = jdbc:mysql:// +

Statement

stm;

SQLconnection() this.host + / + this.db;

String = = = =

usuario,

String

contrasea,

String

bd) usuario;

contrasea; bd; server; + / + this.db;

this.host

void

connectar() {

DriverManager.getConnection(url, (conn de datos !=

user,

password); null)

+url+

Ok);

conn.createStatement();

ex) intentar conectarse ex) con la base de datos

{ +url); {

String

getDb() { db;

setDb(String =

db) { db;

String

getHost() { host;

setHost(String =

host) { host;

String

getPassword() { password;

setPassword(String =

password) { password;

public return } public this.user } public { rs return } public { String try{ rs = stm.executeQuery(SELECT * FROM + name String buscarNombre(String = stm.executeQuery(SELECT ResultSet void

String

getUser() { user;

setUser(String =

user) { user;

consultar(String *

tabla) FROM

throws +

SQLException tabla); rs;

tabla,

String

nombre) =

throws

SQLException null;

tabla =

WHERE

nombre

nombre

LIMIT

1);

rs.next(); name }catch(SQLException return } public { try )); } System.out.println(ex); } } public { try } System.out.println(ex); } } public { try stm.execute(DELETE } 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 ningn parmetro y definirlos mediante los mtodos set y get para despus llamar al mtodo conectar. La segunda es enviarle directamente los valores al constructor y, al igual que en la forma anterior, ejecutar el mtodo conectar, y esta ser la forma que usaremos para nuestro ejemplo. FROM catch + tabla + WHERE nombre= + ex) nombre + (SQLException { ); { void eliminar(String tabla, String nombre) catch (SQLException ex) { { stm.execute(UPDATE + tabla + SET nombre= + usuario.get(nombre) + WHERE nombre= + nombre + ); void actualizar(String tabla, Hashtable usuario, String nombre) catch (SQLException ex) { { stm.execute(INSERT INTO usuarios (nombre, contrasea) VALUES ( + usuario.get(nombre) + , + usuario.get(contrasea) + void insertar(Hashtable usuario) rs.getString(2); ex){System.out.println(ex);} name;

Primero que nada vamos a conectarnos a nuestra base de datos y realizaremos unaconsulta de todos los registros: SQLconnection con.connectar(); ResultSet rs while(rs.next()){ System.out.println(rs.getString(1)); System.out.println(rs.getString(2)); System.out.println(rs.getString(3)); } En esta clase tambin implementamos una opcin que nos permite realizarbsquedas por medio de nombres(es el campo de la base de datos que eleg para este ejemplo); ha este mtodo le mandamos 2 parmetros, 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.put(nombre, usuario.put(contrasea, con.insertar(usuario); Para eliminar un registro simplemente le ejecutamos el mtodo 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 parmetros al mtodo. EL primero es el nombre de la tabla; el segundo es un Hastable en el que se incluya la modificacin que se quiere realizar y el tercer es, en este caso, el nombre de la persona a la que se le va realizar la modificacin: Hashtable usuario.put(nombre, con.actualizar(tabla, usuario, frago); usuario = new Hashtable(); frago1); usuario = new Hashtable(); frago); xxx); = rs; con.consultar(usuarios); con = new SQLconnection(localhost, usuario, contrasea, prueba);

You might also like