Ejemplo de Java +
SQL + Netbeans
Mediante este blog les mostrare un ejemplo de Java y MySQL
bajo la plataforma Netbeans. El propósito de este ejemplo es crear una clase
que realmente realiza las acciones básicas (agregar, modificar, eliminar,
consultar).
La base de datos que usaremos para este ejemplo es la
siguiente:
· BD: prueba.
· tabla: usuarios.
· campos: id(autoinc), nombre,
contraseña.
Bueno, primero que nada empezaremos con esta demostración
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;
}
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 getpara
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 unaconsulta 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úsquedaspor 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”);
Ahora les dejo un
video que muestra lo expuesto en este posteo, como agregar, modificar,
eliminar, consultar datos desde Netbeans hacia una base de datos.
Hasta una próxima aventura con Java netbeans .