Puoi agire in due modi:
1) Per eseguire la query utilizzare i PreparedStatement che risolvono automaticamente problemi del genere anzichè gli Statement (soluzione consigliata).
2) Eseguire un replace dei caratteri speciali sulla stringa che rappresenta la query. Ad esempio:
codice:String cognome = "d'amico"; //occorre sostituire l'apice con un doppio apice affinchè la stringa sql sia valida String query = "select * from utenti where cognome = '"+cognome.replaceAll("'","''")+"'";