não consigo inserir dados na Tabela mysql

5 respostas
IsaelCoelho

bom dia estou tentando inserir dados na tabela mais não consigo alguem pode me ajudar ai vejam minhas classes ai

está é a Minha fabrica de conexão

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;


public class ConnectionFactory {

    public Connection getConnection() {
        try {
            return DriverManager.getConnection("jdbc:mysql://localhost/biblioteca", "root", "12345");
       
        } catch (SQLException e) {
            System.out.println("Conectado!");
            throw new RuntimeException(e);
        }

    }
    
}

esse é o meu dao

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class ContatoDAO {
    // a conexão com o banco de dados

    private Connection connection;

    public ContatoDAO() {
        this.connection = new ConnectionFactory().getConnection();
    }

    public void adiciona(Contato contato) {
        String sql = "insert into contatos " + "(idusuario, nomeUsuario, ituloLivro)"
                + " values (?,?,?)";
        try {
// prepared statement para inserção
            
            PreparedStatement stmt = connection.prepareStatement(sql);

// seta os valores
            stmt.setLong(1, contato.getIdusuario());
            stmt.setString(2, contato.getNomeUsuario());
            stmt.setString(3, contato.getItuloLivro());

// executa
            stmt.execute();
            stmt.close();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

essa é a classe ben

public class Contato {

    private Long idusuario;
    private String nomeUsuario;
    private String ituloLivro;

    public Long getIdusuario() {
        return idusuario;
    }

    public void setIdusuario(Long idusuario) {
        this.idusuario = idusuario;
    }

    public String getNomeUsuario() {
        return nomeUsuario;
    }

    public void setNomeUsuario(String nomeUsuario) {
        this.nomeUsuario = nomeUsuario;
    }

    public String getItuloLivro() {
        return ituloLivro;
    }

    public void setItuloLivro(String ituloLivro) {
        this.ituloLivro = ituloLivro;
    }
}

o que devo fazer na classe testa não to conseguindo fazer

essa é a classe test

import java.sql.SQLException;

public class test {
    private static Contato Contato;
    
    
    public static void main(String[] args) throws SQLException {
        
        Contato conte = new Contato();
        ContatoDAO dao = new  ContatoDAO();
        
        conte.setIdusuario(null);
        conte.setNomeUsuario("isael");
        conte.getItuloLivro();
    }
}

5 Respostas

Hebert_Coelho

E vc está tendo um erro? Alguma mensagem aparece?

C
Bom se esse é todo o código, em nenhum momento você chama o método adiciona da DAO
public static void main(String[] args) throws SQLException {  
          
        Contato conte = new Contato();  
        ContatoDAO dao = new  ContatoDAO();  
          
        conte.setIdusuario(null);  
        conte.setNomeUsuario("isael");  
        conte.getItuloLivro();  //não entendi isso aqui
        dao.adiciona(conte); //<<<<<<<<<<<<<<<<<<<<

    }
G

Você precisa chamar o método adiciona de dao na classe teste passando o Contato

dao.adicona(conte);

JARDEL_RODRIGUES
Contato contato = new Contato();
        contato .setIdusuario(null);  
        contato .setNomeUsuario("isael");  
        contato .setItuloLivro("ALGUMA COISA"); 

ContatoDAO dao = new ContatoDAO();
		dao.adiciona(contato);
IsaelCoelho

Valeu pessoal funcionou aki

Criado 8 de dezembro de 2012
Ultima resposta 9 de dez. de 2012
Respostas 5
Participantes 5