opa pessoal, eu estou com um probleminha aqui em um sistema que estou fazendo e queria que algum pudesse me ajudar, eu fiz um sistema de pesquisa em java, e esta certo , esta funcionando , mais o problema é quando eu coloco o ID 1 por exemplo el pula para outro ID , ele esta pesquisando só por nome , mais tem dois cliente que começa com a letra r e ele nao pega o primeiro nome cadastrado com r ele pega o segundo , como eu arrumo isso, alguem pode me ajudar..... o codigo esta ai em baixo;
[ public Funcionario BuscarFuncionario(String cod){]
String sql = "select * from Funcionario where nome like '" + cod + "%'";

Funcionario f = new Funcionario();

try(PreparedStatement stmt = conexao.prepareStatement(sql)){
ResultSet rs = stmt.executeQuery();
while(rs.next()){
f.setCodigo(rs.getInt("codigo"));
f.setNome(rs.getString("nome"));
f.setCargo(rs.getString("cargo"));
}
}catch (SQLException ex) {
Logger.getLogger(Conexao.class.getName()).log(Leve l.SEVERE, null, ex);
}

return f;
}


[}] esse é o metodo buscarFuncionario

[esse é batao aonde eu chamo o método ]
private void jBuscarActionPerformed(java.awt.event.ActionEvent evt) {
Funcionario f = new Funcionario();
String codNome = String.valueOf(jTnome.getText());

try {
conexao = new Conexao();
f = conexao.BuscarFuncionario(codNome);
jTcodigo.setText(String.valueOf(f.getCodigo()));
jTnome.setText(f.getNome());
jTcargo.setText(f.getCargo());

} catch (ClassNotFoundException ex) {
Logger.getLogger(TelaFuncionario.class.getName()). log(Level.SEVERE, null, ex);
}

}