Boa tarde estou a tentar adicionar um registo numa tabela na base de dados, mas não está funcionando, quando vou ao workbench após ter executado a classe main como teste e faço select na tabela login nenhum registo aparece. Gostaria de saber qual poderia ser o meu erro. Desenvolvi quatro classes, as seguintes:
public class CriarConexao {
public static Connection getConexao() throws SQLException{
try {
Class.forName("com.mysql.jdbc.Driver");
System.out.print("Conectado");
return DriverManager.getConnection("jdbc:mysql://localhost/sistemalogin", "root", "123456");
}catch(SQLException e) {
throw new SQLException(e);
}catch(ClassNotFoundException e1) {
throw new SQLException(e1);
}
}
}
public class main {
public static void main(String[] args) throws SQLException {
Connection con = CriarConexao.getConexao();
Login l = new Login();
l.setUsuario("Ayrton");
l.setSenha("123");
LoginDAO dao= new LoginDAO(con);
dao.adicionar(l);
}
}
public class Login {
private int id;
private String usuario;
private String senha;
public int getId() {
return this.id;
}
public void setId(int id) {
this.id=id;
}
public String getUsuario() {
return this.usuario;
}
public void setUsuario(String usuario) {
this.usuario=usuario;
}
public String getSenha() {
return this.senha;
}
public void setSenha(String senha) {
this.senha=senha;
}
}
public class LoginDAO {
private Connection con;
public LoginDAO(Connection con) { //metodo construtor que recebe a variavel de conection
this.con=con;
}
public void adicionar(Login l) throws SQLException{
String sql= "insert into login(usuario,senha)values(?,?)";
try {
PreparedStatement stmt=con.prepareStatement(sql);
stmt.setString(1, l.getUsuario());
stmt.setString(2, l.getSenha());
stmt.execute();
stmt.close();
} catch (SQLException e) {
e.printStackTrace();
}finally {
con.close();
}
}
}
Obrigado.