Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda em JAVA


lauders

Pergunta

Bom dia Pessoal

Eu estou tentando criar um cadastro de perfume e consta muitos erros. alguém pode me ajudar nos erros. Eu tento colocar o acesso a banco de dados e dar erro. Abaixo segue o que eu já criei.

1) DB Connection

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

public class DBConnection {

// configuracoes para usar o access

// private static String driver = "sun.jdbc.odbc.JdbcOdbcDriver";

// static String url = "jdbc:odbc:cursojava";

// static String user = "";

// static String password = "";

// configuracoes para usar o mysql

private static String driver = "com.mysql.jdbc.Driver";

static String url = "jdbc:mysql://localhost:3306/curso";

static String user = "root";

static String password = "senha aqui";

static {

try {

Class.forName(driver).newInstance();

} catch (InstantiationException e) {

e.printStackTrace();

} catch (IllegalAccessException e) {

e.printStackTrace();

} catch (ClassNotFoundException e) {

e.printStackTrace();

}

}

public static Connection getConnection() throws SQLException {

return DriverManager.getConnection(url, user, password);

}

public static void closeConnection(Connection con) {

if (con != null ) {

try {

con.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

public static void closeStatement(Statement st) {

if (st != null) {

try {

st.close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

public static void closeResultSet(ResultSet rs) {

if (rs != null) {

try {

((ResultSet)rs).close();

} catch (SQLException e) {

e.printStackTrace();

}

}

}

}

2) ExemploddeUso

import java.util.Collection;

import javax.swing.JOptionPane;

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

/**

*

* @author

*/

public class ExemploDeUso {

public static void main(String[] args) {

String codigo = JOptionPane.showInputDialog("Digite o codigo");

String nome = JOptionPane.showInputDialog("Digite o Nome do Perfume");

String marca = JOptionPane.showInputDialog("Digite a Marca/Linha ");

String categoria = JOptionPane.showInputDialog("Digite a categoria");

String descricao = JOptionPane.showInputDialog("Digite a descricao ");

String volumetria = JOptionPane.showInputDialog("Digite volumetria");

String n = JOptionPane.showInputDialog("Digite numQuantidade ");

int numQuantidade = Integer.parseInt(n);

Perfume obj = new Perfume(codigo, nome, marca, categoria, descricao, volumetria, numQuantidade);

PerfumeDAO dao = new PerfumeDAO();

dao.inserirPerfume(obj);

Collection<Perfume> perfumes = dao.selecionarTodos();

Perfume objParaAlterar = null;

System.out.println("-------Listagem------------");

for (Perfume meuPerfume : perfumes) {

System.out.println(meuPerfume);

if (objParaAlterar == null) {

objParaAlterar = meuPerfume;

}

}

objParaAlterar.setNome("mudei o nome");

dao.alterarPerfume(objParaAlterar);

perfumes = dao.selecionarTodos();

System.out.println("-------Alterado------------");

for (Perfume meuPerfume : perfumes) {

System.out.println(meuPerfume);

}

dao.excluirPerfume(objParaAlterar);

perfumes = dao.selecionarTodos();

System.out.println("-------Excluido------------");

for (Perfume meuPerfume : perfumes) {

System.out.println(meuPerfume);

}

}

}

3)DAO

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.Collection;

public abstract class DAO {

protected int executeSQL(String sql) {

int r = 0;

Connection con = null;

Statement st = null;

try {

con = DBConnection.getConnection();

st = con.createStatement();

r = st.executeUpdate(sql);

} catch (SQLException e) {

System.out.println("erro "+e);

} finally {

DBConnection.closeStatement(st);

DBConnection.closeConnection(con);

}

return r;

}

protected Collection executeQuery(String sql) {

ResultSet rs = null;

Connection con = null;

Statement st = null;

ArrayList al = new ArrayList();

try {

con = DBConnection.getConnection();

st = con.createStatement();

rs = st.executeQuery(sql);

while (rs.next()) {

al.add(createObject(rs));

}

} catch (SQLException e) {

System.out.println("erro "+e);

} finally {

DBConnection.closeResultSet(rs);

DBConnection.closeStatement(st);

DBConnection.closeConnection(con);

}

return al;

}

protected abstract Object createObject(ResultSet rs) throws SQLException;

}

4) Perfume

public class Perfume {

private String codigo;

private String nome;

private String marca;

private String categoria;

private String descricao;

private String volumetria;

private int numQuantidade;

public Perfume() {

}

public Perfume(String codigo, String nome, String marca, String categoria, String descricao, String volumetria, int numQuantidade) {

this.codigo = codigo;

this.nome = nome;

this.marca = marca;

this.categoria = categoria;

this.descricao = descricao;

this.volumetria = volumetria;

this.numQuantidade = numQuantidade;

}

Perfume(String codigo, String nome, String marca, String categoria, String descricao, String volumetria, int numQuantidade) {

//throw new UnsupportedOperationException("Not yet implemented"); //verificar posteriormente//

}

@Override

public boolean equals(Object obj) {

if (obj == null) {

return false;

}

if (getClass() != obj.getClass()) {

return false;

}

final Perfume other = (Perfume) obj;

if (this.codigo != other.codigo && (this.codigo == null || !this.codigo.equals(other.codigo))) {

return false;

}

if (this.nome != other.nome && (this.nome == null || !this.nome.equals(other.nome))) {

return false;

}

if (this.marca != other.marca && (this.marca == null || !this.marca.equals(other.marca))) {

return false;

}

if (this.categoria != other.categoria && (this.categoria == null || !this.categoria.equals(other.categoria))) {

return false;

}

if (this.descricao != other.descricao && (this.descricao == null || !this.descricao.equals(other.descricao))) {

return false;

}

if (this.volumetria != other.volumetria && (this.volumetria == null || !this.volumetria.equals(other.volumetria))) {

return false;

}

if (this.numQuantidade != other.numQuantidade) {

return false;

}

return true;

}

@Override

public int hashCode() {

int hash = 7;

hash = 41 * hash + (this.codigo != null ? this.codigo.hashCode() : 0);

hash = 41 * hash + (this.nome != null ? this.nome.hashCode() : 0);

hash = 41 * hash + (this.marca != null ? this.marca.hashCode() : 0);

hash = 41 * hash + (this.categoria != null ? this.categoria.hashCode() : 0);

hash = 41 * hash + (this.descricao != null ? this.descricao.hashCode() : 0);

hash = 41 * hash + (this.volumetria != null ? this.volumetria.hashCode() : 0);

hash = 41 * hash + this.numQuantidade;

return hash;

}

@Override

public String toString() {

return this.getCodigo() + "," +

this.getNome() + "," +

this.getMarca() + "," +

this.getCategoria() + "," +

this.getDescricao() + "," +

this.getVolumetria() + "," +

this.getNumQuantidade();

}

public String getCodigo() {

return codigo;

}

public void setCodigo(String codigo) {

this.codigo = codigo;

}

public String getNome() {

return nome;

}

public void setNome(String nome) {

this.nome = nome;

}

public String getMarca() {

return marca;

}

public void setMarca(String marca) {

this.marca = marca;

}

public String getCategoria() {

return categoria;

}

public void setCategoria(String categoria) {

this.categoria = categoria;

}

public String getDescricao() {

return descricao;

}

public void setDescricao(String descricao) {

this.descricao = descricao;

}

public String getVolumetria() {

return volumetria;

}

public void setVolumetria(String volumetria) {

this.volumetria = volumetria;

}

public int getNumQuantidade() {

return numQuantidade;

}

public void setNumQuantidade(int numQuantidade) {

this.numQuantidade = numQuantidade;

}

}

5)PerfumeDAO

import java.sql.ResultSet;

import java.sql.SQLException;

import java.util.Collection;

public class PerfumeDAO extends DAO {

private static String TABELA = "PERFUME";

public int inserirPerfume(Perfume obj) {

return executeSQL("INSERT INTO " + TABELA + " (CODIGO,NOME,MARCA,CATEGORIA,DESCRICAO,VOLUMETRIA,NUMQUANTIDADE) " + "VALUES('" + obj.getCodigo() + "','" + obj.getNome() + "','" + obj.getMarca() + "','" + obj.getCategoria() + "','" + obj.getDescricao() + "','" + obj.getVolumetria() + "'," + obj.getNumQuantidade() + ") ");

}

public Collection selecionarTodos() {

return executeQuery("SELECT * FROM " + TABELA);

}

public int excluirPerfume(Perfume obj) {

return executeSQL("DELETE FROM " + TABELA + " WHERE CODIGO='" + obj.getCodigo() + "'");

}

public int alterarPerfume(Perfume obj) {

return executeSQL("UPDATE " + TABELA + " SET NOME='" + obj.getNome() + "'," + "MARCA='" + obj.getMarca() + "'," + "CATEGORIA='" + obj.getCategoria() + "'," + "DESCRICAO='" + obj.getDescricao() + "'," + "VOLUMETRIA='" + obj.getVolumetria() + "',NUMQUANTIDADE= " + obj.getNumQuantidade() + " WHERE CODIGO='" + obj.getCodigo() + "' ");

}

@Override

protected Object createObject(ResultSet rs) throws SQLException {

Perfume obj = new Perfume();

obj.setCodigo(rs.getString("CODIGO"));

obj.setNome(rs.getString("NOME"));

obj.setMarca(rs.getString("MARCA"));

obj.setCategoria(rs.getString("CATEGORIA"));

obj.setDescricao(rs.getString("DESCRICAO"));

obj.setVolumetria(rs.getString("VOLUMETRIA"));

obj.setNumQuantidade(rs.getInt("NUMQUANTIDADE"));

return obj;

}

}

6) Cadastro

import java.awt.BorderLayout;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.JTableHeader;

/**

*

* @author

*/

public class Cadastro extends JFrame { // essa classe é uma janela//

JButton salvar = new JButton("Salvar");

JTextField codigo = new JTextField();

JTextField nome = new JTextField();

JTextField marca = new JTextField();

JTextField categoria = new JTextField();

JTextField descricao = new JTextField();

JTextField volumetria = new JTextField();

JTextField numQuantidade = new JTextField();

JLabel labelCodigo = new JLabel("Codigo");

JLabel labelNome = new JLabel("Nome");

JLabel labelMarca = new JLabel("Marca");

JLabel labelCategoria= new JLabel("Categoria");

JLabel labelDescricao = new JLabel("Descricao");

JLabel labelVolumetria = new JLabel("Volumetria");

JLabel labelNumQuantidade = new JLabel("NumQuantidade");

JPanel painel = new JPanel();

public Cadastro() { // construtor//

super("Cadastro de Perfume");

setLayout(new BorderLayout()); // define que o frame vai ser tratado em divisões//

painel.setLayout(new FlowLayout());

codigo.setColumns(5);

nome.setColumns(20);

marca.setColumns(10);

categoria.setColumns(10);

descricao.setColumns(30);

volumetria.setColumns(5);

numQuantidade.setColumns(5);

painel.add(labelCodigo);

painel.add(codigo);

painel.add(labelNome);

painel.add(nome);

painel.add(labelMarca);

painel.add(marca);

painel.add(labelCategoria);

painel.add(categoria);

painel.add(labelDescricao);

painel.add(descricao);

painel.add(labelVolumetria);

painel.add(volumetria);

painel.add(labelNumQuantidade);

painel.add(numQuantidade);

salvar.addActionListener(new ActionListener(){ //tratador de eventos//

public void actionPerformed(ActionEvent arg0) {

System.out.println("codigo="+codigo.getText());

System.out.println("texto="+nome.getText());

System.out.println("marca="+marca.getText());

System.out.println("categoria="+categoria.getText());

System.out.println("descricao="+descricao.getText());

System.out.println("volumetria="+volumetria.getText());

System.out.println("numQuantidade="+numQuantidade.getText());

//criar o objeto aqui com todos os dados dos campos

//chamar o dao para salvar

}

});

add(painel, BorderLayout.CENTER);

add(salvar, BorderLayout.SOUTH);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(700, 400);

setVisible(true);

}

public static void main(String args[]) {

new Cadastro();

}

}

7) TAbela

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;

/*

* To change this template, choose Tools | Templates

* and open the template in the editor.

*/

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.table.DefaultTableModel;

import javax.swing.table.JTableHeader;

/**

*

* @author

*/

public class Tabela extends JFrame {

JTable tabela = new JTable(0, 4);

JScrollPane scroll = new JScrollPane(tabela);

JButton excluir = new JButton("Excluir");

public Tabela() {

super("teste Janela");

setLayout(new BorderLayout());

final DefaultTableModel model = (DefaultTableModel) tabela.getModel();

Object header[] = {"Codigo", "Nome", "Marca","Categoria","Descricao","Volumetria","NumQuantidade",};

model.setColumnIdentifiers(header);

for (int i = 0; i < 50; i++) {

Object value[] = {"valor1"+i, "valor2", "valor3", "valor4", "valor5", "valor6", "valor7" };

model.addRow(value);

}

excluir.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent arg0) {

int coluna = tabela.getSelectedColumn();

int linha = tabela.getSelectedRow();

System.out.println(model.getValueAt(linha, coluna));

Object id = model.getValueAt(linha, coluna);

//remover do banco de dados com esse id

//remover da janela

model.removeRow(linha);

}

});

add(scroll, BorderLayout.CENTER);

add(excluir, BorderLayout.SOUTH);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(600, 400);

setVisible(true);

}

public static void main(String args[]) {

new Tabela();

}

}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...