package com.alura.jdbc.controller;
import java.beans.Statement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alura.jdbc.ConnectionFactory;
import com.alura.jdbc.pruebas.PruebaConexion;
public class ProductoController {
public void modificar(String nombre, String descripcion, Integer id) {
// TODO
}
public void eliminar(Integer id) {
// TODO
}
public List<Map<String,String>> listar() throws SQLException{
// TODO
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost/control_de_stock?useTimeZone=true&serverTimeZone=UTC",
"root",
"root1234");
java.sql.Statement statement =con.createStatement();
statement.execute("SELECT ID, NOMBRE, DESCRIPCION, CANTIDAD FROM PRODUCTO");
ResultSet resultSet = statement.getResultSet();
List<Map<String,String>> resultado = new ArrayList<>();
while(resultSet.next()) {
Map<String, String> fila = new HashMap<>();
fila.put("ID", String.valueOf(resultSet.getInt("ID")));
fila.put("NOMBRE", resultSet.getNString("NOMBRE"));
fila.put("DESCRIPCION", resultSet.getNString("DESCRIPCION"));
fila.put("CANTIDAD", String.valueOf(resultSet.getInt("CANTIDAD")));
resultado.add(fila);
}
con.close();
return resultado;
}
public void guardar(Map<String, String> producto) throws SQLException {
Connection con= new ConnectionFactory().recuperaConexion();
Statement statement = (Statement) con.createStatement();
statement.execute("INSERT INTO PRODUCTO(nombre, descripcion, cantidad)"
+ "VALUES (´" + producto.get("NOMBRE") + "´, ´"
+ producto.get("DESCRIPCION") + "´, "
+ producto.get("CANTIDAD") + ")", Statement.RETURN_GENERATED_KEYS);
ResultSet resultSet = ((java.sql.Statement) statement).getGeneratedKeys();
while (resultSet.next()) {
System.out.println(String.format("Fue insertado el producto de ID &d",
resultSet.getInt(1)));
}
// TODO
}
}