Erro em adicionar

17 respostas
rafaelshock

Galera estou com uma problema... essa é minha classe usuario dao

public class UsuarioDAO {
	private Connection connection;

	public void adiciona(Usuario usuario) {
		try {
			String sql = "insert into Usuario (nome_usuario, cargo, login, senha) values (?,?,?,?)";
			PreparedStatement stmt = connection.prepareStatement(sql);

			stmt.setString(1, usuario.getNome_usuario());
			stmt.setString(2, usuario.getCargo());
			stmt.setString(3, usuario.getLogin());
			stmt.setString(4, usuario.getSenha());
			
			stmt.execute();
			stmt.close();
		} catch (SQLException e) {
			throw new RuntimeException(e);
		}
	}
	
	

}

essa é minha classe teste

public class TestLogin {
	public static void main(String[] args) {

		Usuario u = new Usuario();
		u.setLogin("vai Jesus");
		u.setNome_usuario("jESUS");
		u.setSenha("master");
		u.setCargo("dev");

		UsuarioDAO d = new UsuarioDAO();
		d.adiciona(u);

	}
}

mas está retornando esse erro

Exception in thread "main" java.lang.NullPointerException
	at br.com.banhotosa.Dao.UsuarioDAO.adiciona(UsuarioDAO.java:16)
	at br.com.banhotosa.test.TestLogin.main(TestLogin.java:16)

o que pode ser?

17 Respostas

Rodrigo_Sasaki

Algo me diz que sua variável connection está nula :slight_smile:

rafaelshock

como posso resolver isso? quer minha classe ConnectionFactory?
não sei se ajuda em algo mas to mandando ela ai…

public class ConnectionFactory {

	public Connection getConnection() throws SQLException {
		System.out.println("conectando ...");

		try {
			Class.forName("com.mysql.jdbc.Driver");
		} catch (ClassNotFoundException e) {
			throw new SQLException(e);
		}
		
		return DriverManager.getConnection("jdbc:mysql://localhost/sistemabanhotosa",
				"????????", "????????");
	}

}

valew desde já!

Rodrigo_Sasaki

Você não está nem usando a classe connection factory no seu código, como está instanciando a conexão?

rafaelshock

viiiish cara sou novato nessa coisa de Java… como poderia fazer isso?

Rodrigo_Sasaki
Connection connection = new ConnectionFactory().getConnection();
Ou se seu método for estático:
Connection connection = ConnectionFactory.getConnection();
rafaelshock

bem, já fiz aqui, mas tbm estou com duvida em outra coisa no Update agora de outro projeto tem como vc me ajudar?

Rodrigo_Sasaki

Se for outra dúvida, abra outro tópico :slight_smile:

rafaelshock

blza…

rafaelshock

Eita cara deu um pau aqui… não faço ideia do que seja…

at java.sql.DriverManager.getConnection(DriverManager.java:221)
	at br.com.banhotosa.ConnectionFactory.getConnection(ConnectionFactory.java:18)
	at br.com.banhotosa.Dao.UsuarioDAO.<init>(UsuarioDAO.java:19)
	... 1 more
Caused by: java.net.ConnectException: Connection refused: connect
	at java.net.DualStackPlainSocketImpl.connect0(Native Method)
	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:69)
	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
	at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:157)
	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:391)
	at java.net.Socket.connect(Socket.java:579)
	at java.net.Socket.connect(Socket.java:528)
	at java.net.Socket.<init>(Socket.java:425)
	at java.net.Socket.<init>(Socket.java:241)
	at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
	at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300)
	... 17 more
michetti

Você importou a biblioteca JDBC?

rafaelshock

sim sim com ctza… eu já tinha conseguido adicionar, mas agora está dando esse erro, não sei o que dizer…
pois se faço de outro metodo ele adicionar certinho!

yurifw

o erro diz que a conexão foi negada, veja se vc tem permissão pra acessar o banco, se usuario e senha estao corretos…

rafaelshock

estão tudo corretos… não sei o que está acontecendo!

yurifw

n sei s epode ser isso, mas verifica se vc ta abrindo e fechando as conexoes e outros recursos direitinho…

rafaelshock

então creio que está dando pau nesse meio, a conecção até abre, mas não fecha! da pau antes de fechar… :frowning:

rafaelshock

algúem?

ttelsen

Posta a mensagem do erro desde o início, pois no último post vc pulou algumas linhas do início.

Criado 29 de outubro de 2013
Ultima resposta 1 de nov. de 2013
Respostas 17
Participantes 5