Boa tarde…
Estou desenvolvendo uma pagina web em jsf, onde há um opção que a pessoa digita o nome do produto e apareça as produtos similares.
Porém, na minha consulta, não estou conseguindo tratar…
Por exeplo: no meu banco a o produto Dice, se a pessoa procurar por dice, ou red dice, não consigo localizar…
segue abaixo minha consulta:
[b]public ArrayList localizaProduto(String nome) throws IllegalAccessException, InstantiationException, SQLException{
Conexao conexao = new Conexao();
Connection conn = conexao.getConexao();
PreparedStatement pst = conn.prepareStatement("select * from produto where nome like ?");
pst.setString(1, nome);
ResultSet rs = pst.executeQuery();
ArrayList<Produto> lista = new ArrayList<Produto>();
while (rs.next()) {
Produto p = new Produto();
p.setCategoria(rs.getString("CATEGORIA"));
p.setCodigo(rs.getString("CD_PRODUTO"));
p.setDescricao(rs.getString("DESCRICAO"));
p.setFigura(rs.getString("FIGURA"));
p.setNome(rs.getString("NOME"));
lista.add(p);
}
return lista;
}[/b]
Isso ocorre porque no like não atribui os %, e dessa forma:
select * from produto where nome like %?%
Dá erro!
Alguém pode me dar uma luz? 
Desde já, agradeço!
