Inserir dados de uma classe em outra classe

2 respostas
L

Vamos ver se consigo explicar claramente a minha dúvida.

tenho o banco de dados, onde o tombo é a chave primaria da tabela livro.

CODIGOEXEMPLAR NOT NULL NUMBER( 38 )
STATUSEXEMPLAR CHAR( 1 )
TOMBO NUMBER( 38 )

a classe exemplarLivro que tem como atributo os dados da classe Livro
public class ExemplarLivro {
    private String statusExemplar;
    private int codigoExemplar;
    private Livro li;
e a classe DAO onde vou cadastrar o exemplar de acordo com o tombo do livro.
package dao; 
import modelo.ExemplarLivro;
import modelo.Livro;

/**
 *
 * @author LUANA FRANÇA
 */
public class DAOExemplarLivro extends DAOConectar {
    
      
    public void cadastrarExemplar(ExemplarLivro em){
    
    try{
		Conectar();
		String sql = 
                        "insert into ExemplarLivro values(" +em.getCodExemplar()+","
                                                      + " '"+em.getStatusExemplar() +"')";
                                                     
                
		stm.execute(sql);
		con.close();
	}catch (Exception e){
		e.printStackTrace();
    }
    }

no momento ta simples assim, pois não faço ideia de como trazer para esse DAO os dados do tombo.

2 Respostas

JeffersonFelix

Olá Luana,

Acho que entendi seu problema. O que ocorre é que sua implementação está um pouco equivocada, acredito. Mas vou tentar te ajudar.

Primeiramente, evite o uso de de Statement, e prefira o PreparedStatement em seu lugar. Do jeito que está seu código, sua aplicação pode ser atacada por SQL Injection se alguém colocar como código do exemplar a informação: “’; delete from livro; --”. Pode ser desastroso! rsrs…

Em segundo lugar, acredito você não vá precisar desta classe ExemplarLivro. Passe como parâmetro do método de cadastro de seu DAO o próprio objeto Livro, que, pelo que entendi, possui os atributos statusExemplar, codigoExemplar e tombo, é isso?

Se não estiver assim, faça que a classe Livro fique com a “cara” da tabela livro.

E por fim, vou te recomendar a leitura da apostila da Caelum (FJ-21), disponível gratuitamente em seu site http://www.caelum.com.br/. Tem um tuto bem simples sobre o uso de DAO.

Espero ter ajudado um pouco!

Boa sorte!

L

vou dar uma lida na apostila.
Ainda não usamos na faculdade o preparedStatment. então não sei como usá-lo.

Obrigada!

Criado 20 de novembro de 2012
Ultima resposta 20 de nov. de 2012
Respostas 2
Participantes 2