Du behöver inte PreparedStatement . Använd org.jfree.data.jdbc.JDBCPieDataset
konstruktor som accepterar en fråga "som returnerar data i två kolumner, den första innehåller VARCHAR data, och den andra innehåller numerisk data." Du kan använda datamängden i din ChartFactory .
JDBCPieDataset ds = new JDBCPieDataset(conn, "SELECT ...");
Ett komplett exempel visas här .