Filtro de pesquisa dinâmico utilizando PreparedStatement?

Fala ai pessoal, to com uma dúvida:

Tenho uma APP,e nela tenho uma funcionalidade de pesquisa com a seguinte particularidade:
É composta 3 JTextField´s e 1 jComboBox, onde se o user deixar todos os campos sem digitar nada, irá trazer tudo do BD(select * from table).
Caso ele digite algo em 1 ou mais campos, ai entra no Select. Tem como montar uma única query para desempenhar este papel ao invés de criar várias query´s uma para cada combinação de filtros ?

Obrigado desde já pela ajuda.

Escreva a query utilizando um StringBuilder com if’s onde você precisar.


StringBuffer sql = new StringBuffer();
sql.append("SELECT * FROM TABELA T");

if(campoFiltro1 != null){
     sql.append("  WHERE T.COLUNA1 =  " + campoFiltro1.toString() );
}

if(campoFiltro2 != null){
     sql.append("  AND T.COLUNA2 =  " + campoFiltro2.toString() );
}