Pessoal, boa tarde !
Eu estou começando com mais regularidade o fórum do GUJ. Eu estou com uma dúvida / problema com relação a utilização do pattern DAO para pesquisa no banco de dados. Vou postar o código logo abaixo:
DAO
public FuncionarioBean pesquisaPorID(String IDAcesso)throws SQLException {
logger.info("Pesquisando usuário no banco de dados através da chave de acesso...");
PreparedStatement statement = this.conexao.prepareStatement("select TCP_IP_ACCESS as ipAcesso, TCP_ID_ACCESS as chaveAcesso, convert(varchar(10),TCP_DTCREATE,103)as dataCriacao from EME_TCP_CONTROL as tcp where tcp.TCP_ID_ACCESS = ?");
statement.setString(1, IDAcesso);
FuncionarioBean funcionario = new FuncionarioBean();
ResultSet resultado = statement.executeQuery();
if(!resultado.next()){
logger.warn("ATENÇÃO !!! Nenhum registro foi encontrado !");
return null;
} else {
funcionario.setIp_acesso(resultado.getString("ipAcesso"));
funcionario.setChave_token_acesso(resultado.getString("chaveAcesso"));
funcionario.setData_criacao(resultado.getString("dataCriacao"));
return funcionario;
}
}
public class FuncionarioBean implements Serializable {
private static final long serialVersionUID = 1L;
private String cnpj_empresa;
private String username;
private String password;
private String name;
private String email;
private String endereco;
private String data_criacao;
private String data_ativacao;
private String ip_acesso;
private String chave_token_acesso;
private int sysactivate;
public String getCnpj_empresa() {
return cnpj_empresa;
}
public void setCnpj_empresa(String cnpj_empresa) {
this.cnpj_empresa = cnpj_empresa;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getEndereco(){
return endereco;
}
public void setEndereco(String endereco){
this.endereco = endereco;
}
public String getData_criacao() {
return data_criacao;
}
public void setData_criacao(String data_criacao) {
this.data_criacao = data_criacao;
}
public String getData_ativacao() {
return data_ativacao;
}
public void setData_ativacao(String data_ativacao) {
this.data_ativacao = data_ativacao;
}
public String getIp_acesso() {
return ip_acesso;
}
public void setIp_acesso(String ip_acesso) {
this.ip_acesso = ip_acesso;
}
public String getChave_token_acesso() {
return chave_token_acesso;
}
public void setChave_token_acesso(String chave_token_acesso) {
this.chave_token_acesso = chave_token_acesso;
}
public int getSysactivate() {
return sysactivate;
}
public void setSysactivate(int sysactivate) {
this.sysactivate = sysactivate;
}
public FuncionarioBean() {
}
}
Classe que testa os procedimentos realizados:
package br.com.novaopc.edicomex.testes;
import br.com.novaopc.edicomex.jdbc.dao.FuncionarioDAO;
import br.com.novaopc.edicomex.model.beans.FuncionarioBean;
import java.sql.SQLException;
import java.util.Scanner;
public class TestePesquisaFuncionario {
public static void main (String [] args) throws SQLException {
Scanner entrada = new Scanner(System.in);
System.out.println("Digite a sua chave de acesso: ");
String chave_acesso = entrada.next();
FuncionarioDAO dao = new FuncionarioDAO();
dao.pesquisaPorID(chave_acesso);
FuncionarioBean funcionario = new FuncionarioBean();
System.out.println("IP de Acesso.: " + funcionario.getIp_acesso());
System.out.println("Chave de acesso.: " + funcionario.getChave_token_acesso());
System.out.println("Data de Criação.: " + funcionario.getData_criacao());
dao.fecharConexoes();
}
}
Porém o resultado disso é que na classe que faz o teste dos procedimentos do DAO, ela retorna sempre um valor Null para as informações que eu quero trazer. Até o momento eu estou procurando saber onde é que estou errando e aceito de muito bom grado a ajuda da comunidade se for possível. Segue abaixo o resultado que é retornado na execução da classe.
Digite a sua chave de acesso:
[telefone removido]
- Obtendo a conexão com o banco de dados através de FuncionarioDAO
- ::: NovaOpc - Gerenciador de Conexões de banco de dados :::
- Buscando conexão com o banco de dados...
- Definindo URL de conexão com o banco de dados...
- Obtendo driver de conexão com o banco SQLServer 2005
- Pesquisando usuário no banco de dados através da chave de acesso...
IP de Acesso.: null
Chave de acesso.: null
Data de Criação.: null
- Verificando se existem conexões a serem fechadas...
- Existem conexões ainda abertas ? true
- Fechando a conexão com o banco de dados...
- Conexão desta vez está fechada ? true
Agradeço a todos que possam me ajudar e desejo à todos da comunidade, um excelente natal e um 2009 maravilhoso !!!
Anderson.