Ae galera blz? Estou realizando uns testes para um projeto e nele estou usando uma Interface e as classes DAO.
O problema esta quando tento enviar um objeto para a DAO inserir no banco, enviando variaveis ele funciona normal, o problema esta mesmo na hora de enviar os objetos.
Segue as 5 classes que existem (Conexao, Interface, ClienteDAO, Cliente, Main)
package Conexao;
//import com.mysql.jdbc.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Connection;
public class Conexao {
public Connection con = null;
String res;
String server = "localhost:3306";
String db = "clientesBD";
String user = "root";
String pass = "";
// ":mysql://localhost:3306/bancoexemplo?user=root&password="
public String url = "JDBC:mysql://" + server + "/" + db + "?user=" + user + "&password=" + pass;
public void conecta() throws SQLException, ClassNotFoundException{
//Carrega o driver
String driver = "com.mysql.jdbc.Driver";
Class.forName(driver);
//Conecta o BD
con = (Connection) DriverManager.getConnection(url);
System.out.print("Conectou");
}
}
package Conexao;
public interface Interface {
public void insere(Object obj);
public void busca(Object obj);
public void altera(Object obj);
public void exclui(Object obj);
}
package DAO;
import Conexao.Conexao;
import com.mysql.jdbc.PreparedStatement;
import java.sql.SQLException;
public class ClienteDAO extends Conexao{
public void insere(Object obj) throws SQLException {
PreparedStatement pstm;
pstm = (PreparedStatement) con.prepareStatement("INSERT INTO disciplinas(coddisciplina,descricao) VALUES(?,?);");
pstm.setObject(1, obj);
}
public void busca(Object obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void altera(Object obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
public void exclui(Object obj) {
throw new UnsupportedOperationException("Not supported yet.");
}
}
package primeiroprojetocombd;
import Conexao.Conexao;
import DAO.ClienteDAO;
import java.sql.SQLException;
import javax.swing.JOptionPane;
public final class Cliente extends Conexao{
private int id;
private String nome;
private float cpf;
public Cliente(int id, String nome, float cpf){
setId(id);
setNome(nome);
setCpf(cpf);
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public float getCpf() {
return cpf;
}
public void setCpf(float cpf) {
this.cpf = cpf;
}
public void inserir() throws SQLException{
ClienteDAO cd = new ClienteDAO();
Cliente c = new Cliente(id,nome,cpf);
int iId = 1;
float iCpf = 3330580;
String iNome = "Jao Balao";
c.setId(iId);
c.setCpf(iCpf);
c.setNome(iNome);
JOptionPane.showMessageDialog(null,iId + " " + iCpf + " " + iNome);
JOptionPane.showMessageDialog(null,c);
cd.insere(c);
JOptionPane.showMessageDialog(null,c);
}
}
package primeiroprojetocombd;
import java.sql.SQLException;
public class Main {
public static void main(String[] args) throws SQLException, ClassNotFoundException {
Conexao.Conexao con = new Conexao.Conexao();
con.conecta();
Cliente c = new Cliente(id, nome, cpf); //ele acusa um erro aqui, diz que não consegue instanciar!
c.inserir();
}
}
Alguma sugestão?
vlw galera!