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

Cadastro de perfumes


lauders

Pergunta

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

Editado por Jonathan Queiroz
Título editado conforme regra 3.6 (Jonathan);Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

É um código bem grandinho rsrs...O eclipse ajuda muito na hora da codificação, você programou tudo sozinho ou apenas copiou de algum lugar?

Vai ter que esperar alguém com tempo disponível pra reproduzir seu código no Eclipse e verificar os erros para você.

De qualquer forma, vou mover esse tópico para área correta.

Movendo de Javascript >> Java

Link para o comentário
Compartilhar em outros sites

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...