import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.category.DefaultCategoryDataset;

import javax.swing.JFrame;

public class GraficoMySQL {

    public static void main(String[] args) {
        String url = "jdbc:mysql://localhost:3306/miguelde_oi4";
        String user = "miguelde_oi4";
        String password = "oi42025";

        DefaultCategoryDataset dataset = new DefaultCategoryDataset();

        try {
            Connection conn = DriverManager.getConnection(url, user, password);
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT categoria, valor FROM tabela_exemplo");

            while (rs.next()) {
                String categoria = rs.getString("categoria");
                int valor = rs.getInt("valor");
                dataset.addValue(valor, "Valor", categoria);
            }

            conn.close();

            JFreeChart chart = ChartFactory.createBarChart(
                "Gráfico de Valores",    // título
                "Categorias",            // eixo x
                "Valores",               // eixo y
                dataset
            );

            JFrame frame = new JFrame();
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
            frame.add(new ChartPanel(chart));
            frame.pack();
            frame.setVisible(true);

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
