Prezados;
Estou tentando fazer um programa onde vou inserir, deletar, alterar e consultar em um banco de dados, já fiz algumas classes como a de Conexão, DTO, DAO e uma para entrada de dados via teclado com o uso da Classe Scanner.
Porém estou tendo dificuldades para inserir no banco, chamando as classes na classe principal (MAIN). Já tentei algumas formas, mas todas sem sucesso.
Será poderiam me dar um exemplo de como ficaria a classe MAIN?
Desde já, agradeço a ajuda de todos.
Classe DTO
public class Pessoa {
private int id_pessoa;
private String nome;
public int getid_pessoa (){
return id_pessoa;
}
public void setid_pessoa(int id_pessoa){
this.id_pessoa = id_pessoa;
}
public String getnome(){
return nome;
}
public void setnome (String nome){
this.nome = nome;
}
public String toString(){
return getid_pessoa() + " " + getnome();
}
}
Classe DAO
public class pessoa {
public void inserir (Pessoa pessoa) {
try{
Connection connection = (Connection) ConDB.getInstance().getConnection();
String sql = "INSERT INTO pessoa(nome) VALUES (?)";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(2, pessoa.getnome());
statement.execute();
connection.close();
} catch (Exception e){
e.printStackTrace();
}
System.out.println("Cleinte inserido");
}
public void remover(int idpessoa) {
try{
try (Connection connection = (Connection) ConDB.getInstance().getConnection()) {
String sql = "DELET FROM pessoa WHERE id_pessoa = ?";
PreparedStatement statement = connection.prepareStatement(sql);
statement.setInt(1, idpessoa);
statement.execute();
}
} catch (Exception e){
e.printStackTrace();
}
}
public List<Pessoa> listaTodos(){
List<Pessoa> listaPessoas = new ArrayList<Pessoa>();
try{
Connection connection = (Connection) ConDB.getInstance().getConnection();
String sql = "SELECT * FORM pessoa";
PreparedStatement statement = connection.prepareStatement(sql);
ResultSet resultset = statement.executeQuery();
while(resultset.next()){
Pessoa pessoalist = new Pessoa();
pessoalist.setid_pessoa(resultset.getInt("id_pessoa"));
pessoalist.setnome(resultset.getString("nome"));
listaPessoas.add(pessoalist);
}
connection.close();
}catch(Exception e){
e.printStackTrace();
}
return listaPessoas;
}
public void atualaizar (Pessoa pessoaat){
try{
Connection connection = (Connection) ConDB.getInstance().getConnection();
String sql = "UPDATE FROM SET nome = ? WHERE id_pessoa = ?";
//caso haja mais elementos colocar ""UPDATE FROM SET nome = ?,tel = ?, valor =?,... WHERE id_pessoa = ?"
PreparedStatement statement = connection.prepareStatement(sql);
statement.setString(1, pessoaat.getnome());
statement.setInt(2, pessoaat.getid_pessoa());
//acrescentar statement para cada campo da tabela do banco
statement.execute();
connection.close();
}catch(Exception e){
e.printStackTrace();
}
}
}
Classe Entradas do Teclado
public class dados {
Scanner ler = new Scanner (System.in);
public String nome (String nomein){
Pessoa dados = new Pessoa();
System.out.println("insira o nome do clinte: \n");
dados.setnome(ler.nextLine());
System.out.println("nome inserido com sucesso: \n" + dados.getnome());
return nomein;
}
}