Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
ATIVIDADE 1 - JAVA WEB E FRAMEWORKS O(A) estudante deve criar um projeto Java que faça o gerenciamento do estoque de produtos de um pequeno armazém. Criar um projeto Java que se conecte com um banco de dados SQLite; desenvolver um banco de dados pequeno Armazém.db e, nele, elaborar uma tabela produtos, que deve conter os campos: código, nome, valor, quantidade e data de vencimento. Ele deve inserir pelo menos três registros (produtos) via código Java. Depois, fazer uma simples interface usando a biblioteca swing do Java, que permita que o usuário entre com novos produtos, os quais sejam cadastrados no banco de dados. RESPOSTA: Criando o Banco de Dados e a Tabela: import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class CriarBancoDeDados { public static void main(String[] args) { Connection connection = null; try { // Conectar ao banco de dados ou criá-lo se não existir connection = DriverManager.getConnection("jdbc:sqlite:Armazem.db"); Statement statement = connection.createStatement(); // Criar a tabela "produtos" se ela não existir String createTableSQL = "CREATE TABLE IF NOT EXISTS produtos (" + "codigo INTEGER PRIMARY KEY AUTOINCREMENT, " + "nome TEXT NOT NULL, " + "valor REAL NOT NULL, " + "quantidade INTEGER NOT NULL, " + "data_de_vencimento TEXT NOT NULL)"; statement.execute(createTableSQL); System.out.println("Banco de dados e tabela criados com sucesso!"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (connection != null) { connection.close(); } } catch (Exception e) { e.printStackTrace(); } } } } Inserindo Registros no Banco de Dados: import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class InserirRegistros { public static void main(String[] args) { Connection connection = null; try { connection = DriverManager.getConnection("jdbc:sqlite:Armazem.db"); String insertSQL = "INSERT INTO produtos (nome, valor, quantidade, data_de_vencimento) VALUES (?, ?, ?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(insertSQL); // Inserir três registros de exemplo preparedStatement.setString(1, "Produto 1"); preparedStatement.setDouble(2, 10.99); preparedStatement.setInt(3, 100); preparedStatement.setString(4, "2023-12-31"); preparedStatement.executeUpdate(); preparedStatement.setString(1, "Produto 2"); preparedStatement.setDouble(2, 15.99); preparedStatement.setInt(3, 50); preparedStatement.setString(4, "2024-06-30"); preparedStatement.executeUpdate(); preparedStatement.setString(1, "Produto 3"); preparedStatement.setDouble(2, 5.99); preparedStatement.setInt(3, 200); preparedStatement.setString(4, "2023-11-15"); preparedStatement.executeUpdate(); System.out.println("Registros inseridos com sucesso!"); } catch (Exception e) { e.printStackTrace(); } finally { try { if (connection != null) { connection.close(); } } catch (Exception e) { e.printStackTrace(); } } } } Interface do Usuário Swing: import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; public class CadastroProdutosUI { public static void main(String[] args) { JFrame frame = new JFrame("Cadastro de Produtos"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(300, 200); JPanel panel = new JPanel(new GridLayout(4, 2)); JLabel nomeLabel = new JLabel("Nome:"); JTextField nomeField = new JTextField(); JLabel valorLabel = new JLabel("Valor:"); JTextField valorField = new JTextField(); JLabel quantidadeLabel = new JLabel("Quantidade:"); JTextField quantidadeField = new JTextField(); JLabel dataLabel = new JLabel("Data de Vencimento:"); JTextField dataField = new JTextField(); JButton cadastrarButton = new JButton("Cadastrar"); panel.add(nomeLabel); panel.add(nomeField); panel.add(valorLabel); panel.add(valorField); panel.add(quantidadeLabel); panel.add(quantidadeField); panel.add(dataLabel); panel.add(dataField); panel.add(cadastrarButton); frame.add(panel); frame.setVisible(true); cadastrarButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { String nome = nomeField.getText(); double valor = Double.parseDouble(valorField.getText()); int quantidade = Integer.parseInt(quantidadeField.getText()); String data = dataField.getText(); Connection connection = null; try { connection = DriverManager.getConnection("jdbc:sqlite:Armazem.db"); String insertSQL = "INSERT INTO produtos (nome, valor, quantidade, data_de_vencimento) VALUES (?, ?, ?, ?)"; PreparedStatement preparedStatement = connection.prepareStatement(insertSQL); preparedStatement.setString(1, nome); preparedStatement.setDouble(2, valor); preparedStatement.setInt(3, quantidade); preparedStatement.setString(4, data); preparedStatement.executeUpdate(); JOptionPane.showMessageDialog(frame, "Produto cadastrado com sucesso!"); nomeField.setText(""); valorField.setText(""); quantidadeField.setText(""); dataField.setText(""); } catch (Exception ex) { ex.printStackTrace(); JOptionPane.showMessageDialog(frame, "Erro ao cadastrar o produto."); } finally { try { if (connection != null) { connection.close(); } } catch (Exception ex) { ex.printStackTrace(); } } } }); } }
Compartilhar