Galera, meu erro é o seguinte.
Eu tenho um tabela chamada “clientes”, nela eu possuo o "id, nome, telefone, e endereço.
o ID é AUTO_INCREMENT
Eu fiz a classe do java, tudo certinho, de acordo com a apostila fj21
aqui vai o código
package engenharia_de_software.Cliente;
import java.sql.Connection;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import engenharia_de_software.ConnectionFactory;
public class ClienteDAO {
	private Connection con;
	public ClienteDAO() {
		this.con = new ConnectionFactory().getConnection();
	}
//////////////////////////////////////MÉTODO PARA ADICIONAR//////////////////////////////	
	public void adiciona(Cliente cliente) {
		String sql = "insert into clientes (nome,telefone,endereco) values(?,?,?)";
		try {
			PreparedStatement stmt = con.prepareStatement(sql);
			stmt.setString(1, cliente.getNome());
			stmt.setString(2, cliente.getTelefone());
			stmt.setString(3, cliente.getEndereco());
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
//////////////////////////////////////MÉTODO PARA MOSTRAR//////////////////////////////	
	public List<Cliente> getList() {
		try {
			PreparedStatement stmt = this.con
					.prepareStatement("select*from clientes");
			ResultSet rs = stmt.executeQuery();
			List<Cliente> clientes = new ArrayList<Cliente>();
			while (rs.next()) {
				Cliente cliente = new Cliente();
				cliente.setId(rs.getLong("id"));
				cliente.setNome(rs.getString("nome"));
				cliente.setTelefone(rs.getString("telefone"));
				cliente.setEndereco(rs.getString("endereco"));
				
				clientes.add(cliente);
			}
			rs.close();
			stmt.close();
			return clientes;
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
	
//////////////////////////////////////MÉTODO PARA REMOVER//////////////////////////////		
	public void remove(Cliente cliente){
		try {
			PreparedStatement stmt = con.prepareStatement("delete from clientes where id=?");
			stmt.setLong(1, cliente.getId());
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException();
		}
		
	}
//////////////////////////////////////MÉTODO PARA ALTERAR//////////////////////////////	
	public void altera(Cliente cliente){
		String sql ="update clientes set nome=?, telefone=?, endereco=? where id=?";
		try{
			PreparedStatement stmt = con.prepareStatement(sql);
			stmt.setString(1, cliente.getNome());
			stmt.setString(2, cliente.getTelefone());
			stmt.setString(3, cliente.getEndereco());
			stmt.setLong(5, cliente.getId());
			stmt.execute();
			stmt.close();
			
		}catch (SQLException e){
			throw new RuntimeException();
		}
	}
	
	
	
	
}aqui a classe “Cliente”
[code]package engenharia_de_software.Cliente;
public class Cliente {
private String nome, endereco, telefone;
private Long id;
public Long getId() {
	return id;
}
public void setId(Long id) {
	this.id = id;
}
public String getNome() {
	return nome;
}
public void setNome(String nome) {
	this.nome = nome;
}
public String getEndereco() {
	return endereco;
}
public void setEndereco(String endereco) {
	this.endereco = endereco;
}
public String getTelefone() {
	return telefone;
}
public void setTelefone(String telefone) {
	this.telefone = telefone;
}
}
[/code]
Aqui, a classe onde eu rodo o programa.
[code]package engenharia_de_software;
import engenharia_de_software.Cliente.Cliente;
import engenharia_de_software.Cliente.ClienteDAO;
import engenharia_de_software.Cliente.MetodosClient;
public class Principal {
public static void main (String args[]){
	
	Cliente c = new Cliente();
	ClienteDAO dao = new ClienteDAO();
	
	c.setNome("Eliezer");
	c.setEndereco("SHA CJ 4 CH 72 LOTE R");
	c.setTelefone("3401-1956");
	dao.adiciona(c);
	
	
	
	MetodosClient m = new MetodosClient();
	m.listarProdutos();
	dao.remove(c);
	m.listarProdutos();
	
	
	
	
	
}
}[/code]
o erro é o seguinte
[quote]Exception in thread “main” java.lang.NullPointerException
at engenharia_de_software.Cliente.ClienteDAO.remove(ClienteDAO.java:69)
at engenharia_de_software.Principal.main(Principal.java:23)
[/quote]
Como podem ver, ele dá no ID do meu objeto.
Gostaria que a galera me ajudassem a resolver o problema.
Valeu
Abraço!