Gestor Base de datos
Ahora para poder acceder a los datos de una base de datos se debe realizar por medio de instrucciones SQL
SELECT : Realiza consultas en la base de datos
UPDATE Modifica los datos de una tabla
DELETE Elimina registros de una tabla
INSERT: genera un nuevo registro en una tabla
Para realizar cualquier acción sobre la base de datos (consulta, insertar nuevos registros, modificar los existentes o borrar), necesitamos
Connection conn = null; //VARIABLE PARA CONECTARNOS CON LA BASE DE DATOS
Statement stm=null; // CONTIENE LA INSTRUCCION SQL
ResultSet productoResultSet; //OBTIENE EL RESULTADO DE LA CONSULTA
Producto productoHallado; //OBTIENE LOS ATRIBUTOS DESPUES DE UNA CONSULTA PARA ENVIARLOS A LA VISTA
int clave,cantidad,precio; VARIABLES TIPO ATRIBUTO DE PRODUCTO
String nombre;
METODO CONSULTAR
La consulta de datos es una de las funciones más importantes en las aplicaciones Web. el comando MySQL para hacer consultas es SELECT. Para realizar una consulta en una tabla de la base de datos, desde Java se ejecutan cuatro pasos:
1.- Establecer la conexión con la base de datos.
2.- Crear un objeto de la clase Statement para poder codificar instrucciones.
3.- Codificar la instrucción con la consulta.
4.- Cerrar la conexión con la base de datos.
Ahora agregamos a la clase ProductoBD.java, el método consultar(), el cual sirve para buscar un producto en la tabla productos de la base de datos, y contiene la codificación de los cuatro pasos mencionados. Observar que la instruccion para crear un Statement debe estar dentro de un try-catch, y que para realizar una consulta en la base de datos se usa el método executeQuery() del objeto de clase Statement con la sintaxis:
stm.executeQuery("select * from tabla where condicion");
El parámetro de executeQuery() es la instrucción MySQL en formato String, y no hace falta terminarlo con punto y coma ";".
public Producto consultar(int clavep){
try{
conn = ConectaBD.abrir();
stm = conn.createStatement();
productoResultSet = stm.executeQuery("SELECT * FROM producto WHERE clave="+clavep);
if(!productoResultSet.next()){
System.out.println(" No se encontro el registro");
ConectaBD.cerrar();
return null;
}else{
System.out.println("Se encontró el registro");
clave = productoResultSet.getInt("clave");
nombre = productoResultSet.getString("nombre");
precio = productoResultSet.getInt("precio");
cantidad = productoResultSet.getInt("cantidad");
productoHallado = new Producto(clave,nombre,precio,cantidad);
ConectaBD.cerrar();
return productoHallado;
}
}catch(SQLException e){
System.out.println("Error en la base de datos.");
return null;
}
}
MÉTODO REGISTRAR
public boolean registrar(int clave, String nombre,int precio, int cantidad)
{
int resultUpdate = 0;
try{
conn = ConectaBD.abrir();
stm = conn.createStatement();
resultUpdate = stm.executeUpdate("insert into producto values("+clave+",'" + nombre + "'," +precio+","+cantidad+ ");");
if(resultUpdate != 0)
{
ConectaBD.cerrar();
return true;
}
else
{
ConectaBD.cerrar();
return false;
}
}
catch (SQLException e)
{
System.out.println("Error en la base de datos.");
return false;
}
}
METODO MODIFICAR
public boolean modificar(int clave, String nombre,int precio, int cantidad)
{
int resultUpdate = 0;
try{
conn = ConectaBD.abrir();
stm = conn.createStatement();
resultUpdate = stm.executeUpdate("update producto set nombre='"+nombre+"',precio='"+precio+"',cantidad='"+cantidad+"' WHERE clave ="+clave);
if(resultUpdate != 0)
{
ConectaBD.cerrar();
return true;
}
else
{
ConectaBD.cerrar();
return false;
}
}
catch (SQLException e)
{
System.out.println("Error en la base de datos.");
return false;
}
}
METODO ELIMINAR
public boolean eliminar(int clavep)
{
int resultUpdate = 0;
try{
conn = ConectaBD.abrir();
stm = conn.createStatement();
resultUpdate = stm.executeUpdate("delete FROM producto WHERE clave="+clavep);
if(resultUpdate != 0)
{
ConectaBD.cerrar();
return true;
}
else
{
ConectaBD.cerrar();
return false;
}
}
catch (SQLException e)
{
System.out.println("Error en la base de datos.");
return false;
}
}
METODO LEERTODOS
public ArrayList<Producto> leerTodos(){
ArrayList<Producto> productos = new ArrayList<Producto>();
try{
conn = ConectaBD.abrir();
stm = conn.createStatement();
productoResultSet = stm.executeQuery("select * from producto");
if(!productoResultSet.next()){
System.out.println(" No se encontraron registros");
ConectaBD.cerrar();
return null;
}
else
{
do{
clave = productoResultSet.getInt("clave");
nombre = productoResultSet.getString("nombre");
precio = productoResultSet.getInt("precio");
cantidad = productoResultSet.getInt("cantidad");
productoHallado = new Producto(clave,nombre,precio,cantidad);
productos.add(productoHallado);
}while(productoResultSet.next());
ConectaBD.cerrar();
return productos;
}
}
catch(SQLException e){
System.out.println("Error en la base de datos.");
return null;
}
}
}