Buscar

Atividade 1 - Java Web e Frameworks

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();
 }
 }
 }
 });
 }
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais