Consulta imediata no Banco MySQL

Boa noite pessoal,

Queria saber se tem como fazer uma consulta através de um campo JTextField do Swing que seja bem completa.

Por exemplo: Enquanto o usuário digita o texto já exiba os resultados da pesquisa em uma tabela abaixo imediatamente (como a barra de pesquisa do Google) e que também reconheça espaços, ignore acentuação, procure por dados em mais de um campo na tabela… tem como fazer algo do tipo, ou será que já existe algum código pronto de consulta nesse tipo??

Desde já agradeço, amigos!

Um abraço!

Em JTextField do Swing eu não sei, mas se fosse em um browser, o mais correto a se fazer é disparar eventos javascript de acordo com cada click do teclado que o usuário faz, onde nesse evento terá um Ajax em que ira mandar um request com os parâmetros do texto digitado para o servidor e o mesmo efetua uma busca e te traz uma lista com mais ou menos 8 resultados por vez. Esse resultado você exibe ele no seu html com javascript mesmo. Mas aí, como eu disse é em cima de um browser.

Agora indiferente se é em um browser ou não, lá na sua aplicação, para fazer as consultas super rápidas, você pode usar um motor de busca como o Lucene, ou então, ao invés de usar o MySQL, usar um banco de dados orientado a colunas baseado no BigData, que é super rápido, e vai te atender mesmo que seja um banco muito grande e com varias opções de busca.

Poxa, valeu as dicas aí Rodrigo! Na realidade o meu problema era que uma query que eu fiz que não buscava os registros direito, aí me surgiu essa dúvida. Então nesse meio tempo acabei encontrando uma solução pra isso… saca só:

Query Antiga: “SELECT * FROM cliente WHERE nome LIKE ?” (Dessa maneira só trazia buscas digitando o valor correto)

Query Nova: “SELECT * FROM cliente WHERE nome LIKE '%” + txtNome.getText() + “%’” (Agora a busca traz o que é digitado no campo “txtNome”, ou seja, o que eu realmente preciso).

Para a questão de exibir automaticamente os registros, já andei dando uma pesquisada também e acho que vou conseguir, aí eu posto aqui o resultado!

Obrigado pela ajuda! Abraços!