Não há necessidade de passar a variável de instrução sql para
executeQuery
para PreparedStatement
. Esse é o principal problema no seu caso. PreparedStatement preparedStatement = connection.prepareStatement(selectSQL);
preparedStatement.setString(1, lexiconType);
preparedStatement.setString(2, lemma);
// error is in the following statement
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Como você está redefinindo o sql a ser executado, a instrução não é reconhecida como instrução preparada, mas uma instância do pai
Statement
que está procurando entradas válidas entre aspas para picadas etc. que não estão presentes. E, portanto, é o erro de sintaxe. Alterar :
ResultSet rs = preparedStatement.executeQuery(selectSQL);
Para :
ResultSet rs = preparedStatement.executeQuery();
E deve estar funcionando.
Indicar :