Ao tentar fazer com que ao final seja mostrado a ID que foi gerada dentro do while, ela não é mostrada, mas os dados são adicionados ao banco de dados, menos a ID, o meu banco de dados ja tem definido uma primary key no cpf. Esse é meu código
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class TestaInsercao {
public static void main(String[] args) throws SQLException {
ConnectionFactory connectionFactory = new ConnectionFactory();
Connection connection = connectionFactory.recuperarConexao();
Statement stm = connection.createStatement();
stm.execute("INSERT INTO tbcliente (NOME, CPF, ENDERECO1, DATA_NASCIMENTO, PROFISSAO) VALUES('Eduardo Evangel', '088.995.950-11', "
+ "'Rua 76 Quadra 20 lote 2 Ruranopolis - GO', '1993-02-26', 'Sapateiro')", Statement.RETURN_GENERATED_KEYS);
//DADOS ALEATÓRIOS
ResultSet rst = stm.getGeneratedKeys();
while(rst.next()) {
Integer id = rst.getInt(1);
System.out.println("O cliente adicionado foi o " + id);
System.out.println("Exibir teste");
}
}
}
E esse
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class ConnectionMysql {
public static void main(String[] args) throws SQLException {
ConnectionFactory connectionFactory = new ConnectionFactory();
Connection connection = connectionFactory.recuperarConexao();
Statement stm = connection.createStatement();
stm.execute("SELECT * FROM tbcliente");
ResultSet rst = stm.getResultSet();
while (rst.next()) {
String nome = rst.getString("NOME");
System.out.println(nome);
String cpf = rst.getString("CPF");
System.out.println(cpf);
String endereco = rst.getString("ENDERECO1");
System.out.println(endereco);
String nascimento = rst.getString("DATA_NASCIMENTO");
System.out.println(nascimento);
String profissao = rst.getString("PROFISSAO");
System.out.println(profissao);
Integer id = rst.getInt("ID");
}
System.out.println("fechando conexão!");
connection.close();
}
}