Problema em acessar variável. (?)

1 resposta
edu_fernandes

Olá a todos.
Estou com um probleminha.
Não entendo o que esta acontecendo nessa aplicação.
Declaro um private Connection, mas não consigo usa-lo no método para cadastrar um usuário.
Alguém consegue ver onde estou errando?
Desde já agradeço.

public class UsuarioDAO {

	private Connection connection;
	
	//Dentro do construtor já existe uma fabrica de conexão evitando assim falhas no sistema;
	public UsuarioDAO(){
		this.connection = new ConnectionFactory().getConnection();
	}
	
	
	//Método para cadastrar um usuario novo;
	public static void cadastrarUsuario(Usuario usuario){
		String sql = "INSERT INTO usuario VALUES (?,?,?,?,?)";
		
		if(validaUsuario(usuario)){
			try{
				PreparedStatement stmt = connection.prepareStatement(sql);
			
				
				//Setando os valores;
				stmt.setInt(1, usuario.getCodigoUsuario());
				stmt.setString(2, usuario.getNomeUsuario());
				stmt.setString(3, usuario.getLogin());
				stmt.setString(4, usuario.getSenha());
				stmt.setString(5, usuario.getEmail());
			
				stmt.execute();
				stmt.close();
			}catch(SQLException e){
				throw new RuntimeException(e);
			}catch(NullPointerException e){
				throw new RuntimeException(e);
			}
		}else{
			System.out.println("Não foi possível realizar o cadastro. Usuário e/ou email já cadastrados");
		}
	}

1 Resposta

bzy

Você tem uma variável Global e um método Static.
Métodos do tipo Static pertencem a classe e não a instância do objeto.

Você pode adicionar Static a variavel connection ou remover Static do método cadastrarUsuario.

Mas recomento que torne o ConnectionFactory um método estático para não criar uma instância cada vez que precisar da conexão.

Criado 23 de outubro de 2010
Ultima resposta 23 de out. de 2010
Respostas 1
Participantes 2