Salve a tutti, volevo chiedervi un'opinione riguardo ad un dubbio che m'è sorto.

Devo creare una preparedStatement e "popolarla" in base ai parametri che sono presenti nel metodo..mi spiego con un esempio.

codice:
public static Vector getStudenti(nome, cognome, eta)
{
       query="Select * from studenti where codice=%";
       if(nome!=null && cognome!=null)
            query=query+" and nome=? and cognome=?";
       if(eta!=null)
            query=query+" and eta=?";
       con.prepareStatement(query);
       ...   
}
ecco a questo punto devo effetuare i vari setString(posizione, valore), rifacendo tutti gli IF. E' possibile in qualche modo fare in modo di fare la composizione della query e la setString insieme nello stesso IF (per evitare di ripetere tutte le condizioni e avere problemi delle posizioni)? attendo illuminazioni ...grazie

Edit: corretto le imperfezioni segnalate...avevo scritto direttamente il codice nella finestra del forum...con tutti i problemi del caso