Java swing consulta no banco de dados

2 respostas
G

olá, alguem poderia me dar uma ideia de como consultar dados no banco de dados, como tipo eu ter um banco de dados com produtos e na telinha do java swing eu digita seu nome e buscar esse produto e assim exibir ele em uma jtable??

Muito Agradecido.

2 Respostas

ViniGodoy

Sua dúvida está muito vaga. Difícil saber se você não sabe como montar a tela Swing, ou se não sabe usar o banco, se não sabe modelar classes de negócio, ou tudo isso.

Recomendo que estude cada parte separadamente. Por exemplo, tente iniciar com um programa que faça um cadastro simples usando Lists, sem persistência em banco. Nisso você aprende a modelar as classes de negócio e a usar o Swing. Depois, é só seguir um tutorial de JDBC ou Hibernate e tentar “juntar” os dois.

G

olá
oq eu tava falando ai em cima conseguir fazer mais ou menos

eu estou pegando as informaçoes do banco de dados e passando para a JTable

segui o codigo : o primeiro

package sistema.telas;

import java.awt.BorderLayout;

import java.awt.Dimension;

import java.awt.EventQueue;
import javax.swing.JFrame;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.border.EmptyBorder;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.JTableHeader;

import javax.swing.table.TableColumnModel;

import javax.swing.JButton;

import java.awt.Font;

import javax.swing.ImageIcon;
import javax.swing.JTextField;

import java.awt.Color;

import javax.swing.SwingConstants;
import javax.swing.JLabel;

import sistema.bin.ClienteBin2;
import sistema.conexao.ClienteControl2;

import com.mysql.jdbc.PreparedStatement;

import java.awt.event.ActionListener;

import java.awt.event.ActionEvent;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

public class ConsultaEstoque extends JFrame {

String[] coluna = {"","ID","Nome","Preco","Codigo","Marca","Estoque"};
String [][] linhas = {};
private DefaultTableModel tabela = new DefaultTableModel(linhas,coluna); 
private JScrollPane Scroll = null;
private JTable Tabela = null;

private ClienteControl2 CliControl = new ClienteControl2();
ClienteBin2 CliBin = new ClienteBin2();

private JPanel contentPane;
private JButton button_2;
private JButton button_3;
private JButton button_4;
private JLabel label_1;
private JTextField jtfNome;
private JLabel label_2;
private JTextField jtfCodigo;

/**
 * Launch the application.
 */
public static void main(String[] args) {
	EventQueue.invokeLater(new Runnable() {
		public void run() {
			try {
				ConsultaEstoque frame = new ConsultaEstoque();
				frame.setVisible(true);
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	});
}

private JTable getTabela() {
	
	if (Tabela == null) {
		
		Tabela = new JTable(tabela);
		
		Tabela.addMouseListener(new MouseAdapter() {
			
			public void mouseReleased (MouseEvent e) {
			
				int i = Tabela.getSelectedRow();
				Object x  = Tabela.getValueAt(i,1);
				String codigo = x + "";
			
			}
			
		});
	
	}
	return Tabela;
}

private JScrollPane getScroll() {
	
	if (Scroll == null) {
		
		Scroll = new JScrollPane();
		Scroll.setBackground(Color.WHITE);
		Scroll.setViewportView(getTabela());
		Scroll.setBounds(5,185,653,188);
		defineRenderers();
		
	}
	return Scroll;
}

private void defineRenderers() {
	
	Tabela.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);
	JTableHeader header = Tabela.getTableHeader();
	header.setPreferredSize(new Dimension(2000,25));
	TableColumnModel modeloDaColuna = Tabela.getColumnModel();
	
	modeloDaColuna.getColumn(0).setPreferredWidth(50);
	modeloDaColuna.getColumn(1).setPreferredWidth(70); //id
	modeloDaColuna.getColumn(2).setPreferredWidth(140);//nome
	modeloDaColuna.getColumn(3).setPreferredWidth(100);//preco
	modeloDaColuna.getColumn(4).setPreferredWidth(70); //codigo
	modeloDaColuna.getColumn(5).setPreferredWidth(130);//marca
	modeloDaColuna.getColumn(6).setPreferredWidth(90);//estoque

}

/**
 * Create the frame.
 */
public ConsultaEstoque() {
	setTitle("B.C. Systems");
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setBounds(100, 100, 684, 430);
	contentPane = new JPanel();
	contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
	setContentPane(contentPane);
	contentPane.setLayout(null);
	contentPane.add(getScroll(),null);
	
	button_2 = new JButton("CONSULTAR");
	button_2.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {

			try {
				CliControl.preenche_tabela(Tabela);
			} catch (SQLException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			
			
		}
	});
	button_2.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\Search-icon (1).png"));
	button_2.setFont(new Font("Tahoma", Font.PLAIN, 14));
	button_2.setBounds(5, 126, 149, 48);
	contentPane.add(button_2);
	
	button_3 = new JButton("LIMPAR");
	button_3.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			jtfNome.setText("");
			jtfCodigo.setText("");
		}
	});
	button_3.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\Eraser-icon.png"));
	button_3.setFont(new Font("Tahoma", Font.PLAIN, 15));
	button_3.setBounds(164, 126, 124, 48);
	contentPane.add(button_3);
	
	button_4 = new JButton("ADICIONAR AO CARRINHO DE COMPRAS");
	button_4.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			new Vendas().setVisible(true);
			
		}
	});
	button_4.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\math-add-icon.png"));
	button_4.setFont(new Font("Tahoma", Font.PLAIN, 15));
	button_4.setBounds(298, 126, 360, 48);
	contentPane.add(button_4);
	
	JLabel label = new JLabel("Consulta dos Produtos no Estoque");
	label.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\lupa2.png"));
	label.setFont(new Font("Tahoma", Font.PLAIN, 22));
	label.setBounds(10, 11, 414, 48);
	contentPane.add(label);
	
	JButton button_5 = new JButton("SAIR");
	button_5.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			System.exit(0);
			
		}
	});
	button_5.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\adf.png"));
	button_5.setFont(new Font("Tahoma", Font.PLAIN, 15));
	button_5.setBounds(549, 10, 109, 49);
	contentPane.add(button_5);
	
	JButton button_6 = new JButton("VOLTAR");
	button_6.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			
			new TelaInicial().setVisible(true);
			
		}
	});
	button_6.setIcon(new ImageIcon("D:\\IFBA\\4 Ano\\III Unidade\\Trabalho ADS e P.O.O\\Imagens\\voltar1.png"));
	button_6.setFont(new Font("Tahoma", Font.PLAIN, 15));
	button_6.setBounds(404, 11, 135, 49);
	contentPane.add(button_6);
	
	label_1 = new JLabel("Nome do Produto:");
	label_1.setFont(new Font("Tahoma", Font.PLAIN, 14));
	label_1.setBounds(5, 81, 124, 34);
	contentPane.add(label_1);
	
	jtfNome = new JTextField();
	jtfNome.setColumns(10);
	jtfNome.setBounds(125, 81, 200, 34);
	contentPane.add(jtfNome);
	
	label_2 = new JLabel("C\u00F3digo do Produto:");
	label_2.setFont(new Font("Tahoma", Font.PLAIN, 14));
	label_2.setBounds(331, 81, 136, 34);
	contentPane.add(label_2);
	
	jtfCodigo = new JTextField();
	jtfCodigo.setColumns(10);
	jtfCodigo.setBounds(466, 79, 190, 36);
	contentPane.add(jtfCodigo);
}

}

o segundo codigo:

package sistema.conexao;

import java.sql.ResultSet;
import java.sql.SQLException;

import javax.swing.JOptionPane;

import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;

import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;

import sistema.bin.ClienteBin1;
import sistema.conexao.conexao;

public class ClienteControl2 {

public void InsereDados(String nome,String cod,String preco,String marca,String estoque){

conexao banco = new conexao();

String retorno = erro;

try {
Connection ExConn = (Connection) banco.abrirBDConn();

Statement stmt = (Statement) ExConn.createStatement();

String sSQL = INSERT INTO banco.produto VALUES (null,’”+nome+"’,’"+cod+"’,’"+preco+"’,’"+marca+"’,’"+estoque+"’);";

System.out.println(sSQL);

boolean res = stmt.execute(sSQL);
JOptionPane.showMessageDialog(null,(!res)?Produto Cadastrado com Sucesso!:"" +

Os dados não puderam ser inseridos!!!);

stmt.close();

banco.fecharBDConn();

}catch(Exception e){

JOptionPane.showMessageDialog(null,Erro no Cadastro! Tente Novamenente!);

}

}

public void ExcluirProduto(int codigo){
conexao banco = new conexao();

try {

Connection ExConn = (Connection) banco.abrirBDConn();

Statement stmt = (Statement) ExConn.createStatement();

String sSQL = DELETE FROM banco.produto WHERE idProduto = +codigo+;”;

boolean rs = stmt.execute(sSQL);

JOptionPane.showMessageDialog(null,(!rs)? Dados do Produto excluidos com sucesso.”:“Dados do Produto não foram excluidos com sucesso.”);
stmt.close();
banco.fecharBDConn();

}catch(Exception e){

JOptionPane.showMessageDialog(null,Os dados não foram encontrado!!!);

}

}
/*public void AtualizarDados(String nome,String cod,String preco,String quantidade,String marca,String modelo,String estoque, ClienteBin1 CliBin){

conexao banco = new conexao();

String retorno = erro;

int res;

try {

Connection ExConn = (Connection) banco.abrirBDConn();

Statement stmt = (Statement) ExConn.createStatement();
res = stmt.executeUpdate(UPDATE banco.produto SET nome = '”+nome+"’, preco = ‘"+preco+

"’, codigo = ‘"+cod+"’,quantidade = ‘"+quantidade+"’,marca = ‘"+marca+"’, modelo = ‘"+modelo+"’,estoque = ‘"+estoque+"’, WHERE idProduto = "+CliBin.getCodigo());

if(res==1)JOptionPane.showMessageDialog(null,“Os dados  foram atualizados com sucesso!!!”);

stmt.close();

banco.fecharBDConn();

}catch(Exception e){

JOptionPane.showMessageDialog(null,“Os dados não puderam ser atualizados!!!”);

}s
}

*/

/*public void BuscarDados(int codigo,ClienteBin1 CliBin) {

conexao banco = new conexao();

try {

Connection ExConn = (Connection) banco.abrirBDConn();

Statement stmt = (Statement) ExConn.createStatement();

String sSQL = "SELECT * FROM banco.produto WHERE idProduto = "+codigo;

ResultSet rs = stmt.executeQuery(sSQL);
while(rs.next())
{
CliBin.setCodigo(rs.getInt("idProduto"));
CliBin.setNome(rs.getString("nome"));
CliBin.setPreco(rs.getString("preco"));
CliBin.setCod(rs.getString("codigo"));
CliBin.setMarca(rs.getString("marca")); 
CliBin.setModelo(rs.getString("estoque")); 

}
stmt.close();

banco.fecharBDConn();

}catch(Exception e){

JOptionPane.showMessageDialog(null,Os dados não puderam ser encontrado!!!);

}

}

*/

public void preenche_tabela(JTable Tabela) throws SQLException {
conexao banco = new conexao();
 
 Connection Conn = (Connection) banco.abrirBDConn();

 try {
	 
	 DefaultTableModel modelo = (DefaultTableModel) Tabela.getModel();

	 modelo.setNumRows(0);
	 
	 Statement statement = (Statement)Conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
	 
	ResultSet st = statement.executeQuery("SELECT * FROM banco.produto");
	 while (st.next()) {
		 
		 modelo.addRow (new Object[] {
				 
				 Tabela.getRowCount()+1,
				 st.getInt("idProduto"),
				 st.getString("nome"),
				 st.getString("preco"),
				 st.getString("codigo"),
				 st.getString("marca"),
				 st.getString("estoque"),

		 });	 
	 }			 
	}catch(Exception erro) {
		
		JOptionPane.showMessageDialog(null, "Erro ao adicionar a tabela");
		
	}

}
}

Criado 26 de dezembro de 2015
Ultima resposta 27 de dez. de 2015
Respostas 2
Participantes 2