Tenho um código no qual tenho uma classe somente com getters e setter e outra onde ler dados do teclado, criei um objeto da classe dos getters e setters na classe onde é feita a leitura dos dados do teclado e após a leitura dos dados passo como parametro o dado lido pro objeto junto do método set..., ele roda o programa de boa mas quando do o select a matricula vem com 0 e o nome com null...não to conseguindo ver o erro :idea:
public class ConnectionFactory {
public Connection getConnection() {
System.out.println("Conectando ao banco");
try {
return DriverManager.getConnection("jdbc:mysql://localhost/testexxx", "root", "");
} catch(SQLException e) {
throw new RuntimeException(e);
}
}
}
public class Aluno {
private String nome;
private long matricula;
private double gq1=0,gq2=0,gq3=0;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public long getMatricula() {
return matricula;
}
public void setMatricula(long matricula) {
this.matricula = matricula;
}
public double getGq1() {
return gq1;
}
public void setGq1(double gq1) {
this.gq1 = gq1;
}
public double getGq2() {
return gq2;
}
public void setGq2(double gq2) {
this.gq2 = gq2;
}
public double getGq3() {
return gq3;
}
public void setGq3(double gq3) {
this.gq3 = gq3;
}
}
public class AlunoLer {
private String nome;
private long matricula;
private double gq1=0,gq2=0,gq3=0;
Scanner ler = new Scanner(System.in);
Aluno a = new Aluno() ;
public void matricula(){
System.out.println("Informe a matricula");
matricula=ler.nextLong();
a.setMatricula(matricula);
}
public void nome(){
System.out.println("informe o nome");
nome=ler.next();
a.setNome(nome);
}
public void gq1(){
System.out.println("Informe a GQ1");
gq1=ler.nextDouble();
a.setGq1(gq1);
}
public void gq2(){
System.out.println("Informe a GQ2");
gq2=ler.nextDouble();
a.setGq1(gq2);
}
public void gq3(){
System.out.println("Informe a GQ3");
gq3=ler.nextDouble();
a.setGq1(gq3);
}
}
private Connection con = new ConnectionFactory().getConnection();
Aluno a = new Aluno();
public void insere(){
try{
String sql = "insert into aluno(matricula,nome,gq1,gq2,gq3,situacao) values('"+a.getMatricula()+"','"+a.getNome()+"','"+0+"','"+0+"','"+0+"','"+null+"')";
PreparedStatement sti = con.prepareStatement(sql);
//sti.setLong(1,a.getMatricula());
//sti.setString(2,a.getNome());
//sti.setDouble(3,(Double) null);
//sti.setDouble(4,(Double) null);
//sti.setDouble(5,(Double) null);
//sti.setString(6,null);
sti.execute();
}catch(SQLException e){
throw new RuntimeException (e);
}
}
public void deleta(){
try{
String sql = "delete from aluno where matricula = ";
PreparedStatement std = con.prepareStatement(sql);
}catch(SQLException e){
throw new RuntimeException (e);
}
}
}
public class TestaDAO {
public static void main(String args[]){
int op;
Scanner ler = new Scanner(System.in);
AlunoDAO dao = new AlunoDAO();
AlunoLer a = new AlunoLer();
do{System.out.println("----------Menu----------");
System.out.println("[ 1 ] Inserir novo Aluno");
System.out.println("[ 2 ] Excluir Aluno");
System.out.println("[ 3 ] Lançar Notas");
System.out.println("[ 4 ] Pesquisar Dados");
System.out.println("[ 5 ] Exibir Estatísticas");
System.out.println("[ 6 ] Sair");
System.out.print("Digite a opção:");
op = ler.nextInt();
ler.nextLine();
switch(op){
case 1:
a.matricula();
a.nome();
dao.insere();
}
}while(op!=1);
}
}