Bom tarde!
Estou tentando criar um método que insere dados em um banco de dados Mysql. Quando uso a linha de código:
PrepareStatement stmt = connection.prepareStatement(sql);
O java pede para que eu crie o método preparedStatement(java.lang.string) na classe ConnectionFactory…
Alguém sabe como ajudar?
import br.com.vinicius.jdbc.ConnectionFactory;
import br.com.vinicius.jdbc.modelo.Contato;
import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.SQLException;
public class ContatoDao {
private final ConnectionFactory connection;
public ContatoDao() throws ClassNotFoundException{
this.connection = (ConnectionFactory) ConnectionFactory.getConnection();
}
public void adiciona(Contato contato){
String sql ="insert into contatos" +
"(nome, email, endereco, dataNasciemnto)"+
"values(?,?,?,?)";
try {
PreparedStatement stmt= connection.prepareStatement(sql);
stmt.setString(1,contato.getNome());
stmt.setString(2,contato.getEmail());
stmt.setString(3,contato.getEndereco());
stmt.setDate(4, new Date(
contato.getDataNascimento().getTimeInMillis()));
stmt.execute();
stmt.close();
} catch (SQLException e) {
throw new RuntimeException(e);
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class ConnectionFactory {
public static java.sql.Connection getConnection() throws ClassNotFoundException {
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver");
connection = DriverManager.getConnection("jdbc:mysql://localhost:3307/fj21","root","23catra32");
return connection;
} catch (ClassNotFoundException e) {
System.out.println("O drivernão foi encontrado!.");
return null;
} catch (SQLException e){
System.out.println("Não foi possível conectar ao banco de dados.");
return null;
}
}
}
