Estou tentado puxar os dados do BD par listar na Jtable.
Consegui inserir via botão novo, mas não consigo listar os dados na Jtable
package com.login.view;
import com.login.dao.DaoUser;
import com.login.model.ModelUser;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableRowSorter;
public class FRMConsoleUser extends javax.swing.JFrame {
DaoUser daoUser = new DaoUser();
ModelUser modelUser = new ModelUser();
/**
* Creates new form FRMConsoleUser
*/
public FRMConsoleUser() {
initComponents();
DefaultTableModel modelo = (DefaultTableModel) jTableLogin.getModel();
jTableLogin.setRowSorter(new TableRowSorter(modelo));
//https://www.youtube.com/watch?v=W5LsoFlwAWE&list=PLWd_VnthxxLfeEUK08gB7G3316OS5xIT3&index=14
//readJTable();
}
public void readJTable() {
DefaultTableModel modelo = (DefaultTableModel) jTableLogin.getModel();
modelo.setNumRows(0);
DaoUser du = new DaoUser();
for (ModelUser tmp : du.read()) {
modelo.addRow(new Object[]{
tmp.getId(),
tmp.getNome(),
tmp.getLogin(),
tmp.getSenha()
});
}
}
package com.login.model;
public class ModelUser {
private int id;
private String nome;
private String login;
private String senha;
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 String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getSenha() {
return senha;
}
public void setSenha(String senha) {
this.senha = senha;
}
@Override
public String toString() {
return "ModelUser{" + "id=" + id + ", nome=" + nome + ", login=" + login + ", senha=" + senha + '}';
}
}
package com.login.dao;
import com.login.model.ModelUser;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import com.login.dao.ConnectionFactory;
public class DaoUser {
public void novo(ModelUser modelUser) {
Connection con = ConnectionFactory.getConnnection();
PreparedStatement stmt = null;
String sql = "INSERT INTO db_login (nome, login, senha) VALUES (?, ?, ?) ";
try {
stmt = con.prepareStatement(sql);
stmt.setString(1, modelUser.getNome());
stmt.setString(2, modelUser.getLogin());
stmt.setString(3, modelUser.getSenha());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
con.close();
} catch (SQLException u) {
throw new RuntimeException(u);
} finally {
ConnectionFactory.closeConnection(con, stmt);
}
}//fim inserir
public void excluir(ModelUser modelUser) {
Connection con = ConnectionFactory.getConnnection();
PreparedStatement stmt = null;
String sql = "DELETE FROM db_login WHERE id=?";
try {
stmt = con.prepareStatement(sql);
stmt.setInt(1, modelUser.getId());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Excluido com sucesso!");
con.close();
} catch (SQLException u) {
throw new RuntimeException(u);
}
}// fim excluir
public void alterar(ModelUser modelUser) {
Connection con = ConnectionFactory.getConnnection();
PreparedStatement stmt = null;
String sql = "UPDATE db_login SET nome=?, login=?, senha=? WHERE id=? ";
try {
stmt = con.prepareStatement(sql);
stmt.setString(1, modelUser.getNome());
stmt.setString(2, modelUser.getLogin());
stmt.setString(3, modelUser.getSenha());
stmt.setInt(4, modelUser.getId());
stmt.executeUpdate();
JOptionPane.showMessageDialog(null, "Excluido com sucesso!");
con.close();
} catch (SQLException u) {
throw new RuntimeException(u);
} finally {
ConnectionFactory.closeConnection(con, stmt);
}
}//fim alterar
public List<ModelUser> read() {
Connection con = ConnectionFactory.getConnnection();
PreparedStatement stmt = null;
ResultSet rs = null;
List<ModelUser> modelUsers = new ArrayList<>();
try {
stmt = con.prepareStatement("SELECT * FROM db_login");
rs = stmt.executeQuery();
while (rs.next()) {
ModelUser mUser = new ModelUser();
mUser.setId(rs.getInt("id"));
mUser.setNome(rs.getString("nome"));
mUser.setLogin(rs.getString("login"));
mUser.setSenha(rs.getString("senha"));
modelUsers.add(mUser);
}
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Erro ao ler lista\nErro :" + ex);
} finally {
ConnectionFactory.closeConnection(con, stmt, rs);
}
return modelUsers;
}
}//end DaoUser
package com.login.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ConnectionFactory {
private static final String DRIVER = "com.mysql.jdbc.Driver";
private static final String URL = "jdbc:mysql://localhost:3306/db_login";
private static final String USER = "root";
private static final String PASS = "123";
public static Connection getConnnection(){
try {
Class.forName(DRIVER);
return DriverManager.getConnection(URL, USER, PASS);
} catch (ClassNotFoundException | SQLException ex) {
throw new RuntimeException("Erro na conexao: ",ex );
}
}
public static void closeConnection(Connection con){
try {
if(con !=null){
con.close();
}
} catch (SQLException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void closeConnection(Connection con, PreparedStatement stmt){
closeConnection(con);
try {
if(stmt!=null){
stmt.close();
}
} catch (SQLException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
}
}
public static void closeConnection(Connection con, PreparedStatement stmt, ResultSet rs){
closeConnection(con, stmt);
try {
if(rs!=null){
rs.close();
}
} catch (SQLException ex) {
Logger.getLogger(ConnectionFactory.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
Banco de Dados
####### MVCLogin ###################3
DROP DATABASE db_login;
CREATE DATABASE db_login;
USE db_login;
CREATE TABLE tbl_login(
id INT( 20 ) AUTO_INCREMENT,
nome VARCHAR(255),
login VARCHAR(255),
senha VARCHAR(255),
PRIMARY KEY (id)
);
INSERT INTO tbl_login (nome, login, senha) VALUES ('marcel', 'adm_marcel','123');
DROP TABLE tbl_login;
SELECT * FROM tbl_login;
Erro: