Non è necessario il PreparedStatement . Utilizzare org.jfree.data.jdbc.JDBCPieDataset
costruttore che accetta una query "che restituisce dati in due colonne, la prima contenente VARCHAR dati e il secondo contenente dati numerici." Puoi utilizzare il set di dati nel tuo ChartFactory .
JDBCPieDataset ds = new JDBCPieDataset(conn, "SELECT ...");
Un esempio completo è mostrato qui .