Ejecutar SQL en Java

8 05 2008

En esta ocasión veremos como ejecutar sentencias SQL en Java, tomando en cuenta la conexión que realizamos a la base de datos anteriormente.

Para este ejemplo uso una tabla llamada «usuarios», la cual tiene únicamente 3 campos: id(autoinc), nombre y contraseña

El código de la clase es el siguiente:

import java.sql.*;
public class Conexion {
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 Conexion(String usuario, String contraseña, String bd, String servidor)
{
this.user = usuario;
this.password = contraseña;
this.db = bd;
this.host = servidor;
this.url = "jdbc:mysql://" + this.host + "/" + this.db;
}
public void conectar()
{
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 void consultar() throws SQLException
{
rs = stm.executeQuery("SELECT * FROM usuarios");
while(rs.next())
{
System.out.println(rs.getString("nombre"));
System.out.println(rs.getString("contraseña"));
}
}
public void actualizar() throws SQLException
{
stm.execute("UPDATE usuarios SET nombre='nombre usuario' WHERE id="+1);
}
public void insertar() throws SQLException
{
stm.execute("INSERT INTO usuarios (nombre, contraseña) VALUES ('new_name', 'new_Pass')");
}
public void eliminar() throws SQLException
{
stm.execute("DELETE FROM usuarios WHERE id="+1);
}
}

Únicamente resta crear una instancia de la clase y empezar a utilizar sus métodos.


Acciones

Information

10 responses

30 05 2008
oscar

gracias por este codigo tan paloma. he aprendido mucho

14 07 2008
23 07 2008
Ejemplo de Java + SQL + Netbeans « Programación, tecnología, humor, curiosidades…

[…] 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 […]

31 07 2008
gil

orale que bien todo ezto zi te ayuda a mi me ezta empezando a zacar de apuroz pero ze podra acer que laz conzultaz ze manejen dezde un jbutton.

2 08 2008
frago

@gil: Claro que sí, simplemente crea una instncia de la clase y manda llamar el método que deseas ejecutar dentro del botón, lo cual quedaría algo así:

Conexion con = new Conexion(usuario, contraseña, bd, servidor);
con.consultar();

Eso es si lo haces dentro de NetBeans, en caso de que no, pues creas un botón y colocas ese código dentro de la acción del mismo.

4 08 2008
gil

va graciaz y zi eztoy trabajando en netbeanz pero ezo zi lo entiendo lo que no entiendo ez como ze le ace para que el metodo de inzertar o el que zea obtenga loz valorez de laz cajaz de texto ze puede??

12 08 2008
frago

Perdon por la tardansa para responder pero eh andado algo ocupado. Pues aquí lo que puede hacer es usar el método getText(), por ejemplo: mi_textField.getText().

public void insertar() throws SQLException
{
stm.execute(”INSERT INTO usuarios (nombre, contraseña) VALUES (’mi_textField1.getText(), mi_textField2.getText())”);
}

Creo que quedaría algo así, espero que te sirva aunque te recomiendo que le eches un vistaso a este post donde creo yo se muestra una mejor implementación de una clase parecida a esta en Java

31 03 2009
John Jairo Ríos

Me parece muy bueno el ejemplo y practico los comentarios… sin embargo .. he estado buscando como realizar una funcion BUSCAR. algo asi como en Visual Basic. donde la funcion te permite localizar un dato especifico en toda la base de datos … y la verdad llevo semanas en eso y no he podido lograrlo …
Me gustaria saber si existe en java alguna clase que realize la misma funcion que el Parametro BUSCAR de Visual Basic ….

19 04 2009
frago

Si tu base de datos está en MySQL pues hacer consultas…por el ejemplo si quieres buscar el nombre de una tabla llamada alumnos podrias usar algo como:

SELECT * FROM TABLA_ALUMNOS WHERE NOMBRE = «FRAGO»

saludos!!

23 03 2011
H4CK-4-LIF3

muchas gracias por tu codigo saludos men….

Deja un comentario