Fala galera, tudo certo? eu estava utilizando switch case para fazer uma classe de pesquisa no banco de dados, para tentar deixar o mais genérica possível para poder reutilizar em mais classes, porém meu chefe pediu para passar para map, só que eu não estou achando uma forma de passar por parâmetro os dados que preciso
Classe onde envio a chave para o método(tableSearchName é o nome do campo que eu quero utilizar pra fazer a busca)
public void sqlConsulta(String tableSearchName) {
final Map<String, Supplier<Map<String, Object>>> makeSqlSearch = new HashMap<>();
final MapConsultasSql consulta = new MapConsultasSql();
makeSqlSearch.put(tableSearchName, consulta::likeSearch);
}
método que eu estou tentando utilizar para fazer a consulta:
public Map<String, Object> likeSearch() {
final Map<String, Object> expression = new HashMap<>();
expression.put("Nome", "select * from usuario where usuid like '%"+ nomeDigitado +"%'");
return expression;
}
O que eu queria era poder passar o “nomeDigitado” por parâmetro no likeSearch, para então poder fazer a busca, porém não achei uma forma de passar parâmetro pra um map. Alguém saberia me dizer se é possível isso que estou tentando fazer ou não tem como?