Consulta mysql no servlet

pessoal, estou com um problema…peguei um servlet q apresenta a seguinte consulta no mysql:

SELECT id, generaltitle, generalaggregationlevel, generalinstitution, generalresponsible, " + "lifecyclecontributedate, technicalmediatype, educationallearningobjecttype from lominvente WHERE generallanguage LIKE ? " + "&& generalaggregationlevel LIKE ? && generalinstitution LIKE ? ";

oq significa esta interrogação “?” ? é alguma máscara? qdo faço a consulta no banco dá erro…

Algumas pessoas usam o “?” para jogar o SQL em um objeto PreparedStatatement, este objeto tem um método setString(int,String) que diz que string será substituida no SQL. Não sei se é este o caso

realmente, essa string é colocada em um PreparedStatatement, mas não no método setString. ela é colocada diretamente no PreparedStatatement. há algum problema? se é q entendi corretamente…

Não, na verdade o que acontece é o seguinte, por exemplo, neste código;

//imagine que este comando retorna uma conexão válida
Connection con = new ConnectionFactory.getConnection();

PreparedStatement stmt = con.prepareStatement(“insert into table1(nome,telefone) values(?,?)”);

stmt.setString(1,“Renan”);
stmt.setString(2,“1234-5678”);
stmt.execute();

/O método setString (entre outros) inclue o parâmetro pronto para ser utilizado, isto é, substitue cada interrogação indicada (1) por ‘Renan’ e (2) por ‘1234-5678’, entendeu?/