Como faço para passar como objeto ? [RESOLVIDO]

11 respostas
uaslei_Java
* @author uaslei
 */
public class CadAlunoDao {

    public String Salvar(String CodigoAluno, String Nome, String Status, String Endereco, String Cidade, String Bairro, String Uf, 
        String Cep, String DataNasc, String Idade, String Sexo, String Cpf, String Rg, String Nacionalidade, String Natural,
            String UfNascimento, String NomeMae, String NomePai, String Telefone, String Telefone1, String Telefone2) throws SQLException {
Por que to criando uma ação para salvar no banco de dados só que o ideal e passar como objecto.
package br.ifirst.autosystem.daos;

import br.ifirst.autosystem.connections.Conexao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author uaslei
 */
public class CadAlunoDao {

    public String Salvar(String CodigoAluno, String Nome, String Status, String Endereco, String Cidade, String Bairro, String Uf, 
        String Cep, String DataNasc, String Idade, String Sexo, String Cpf, String Rg, String Nacionalidade, String Natural,
            String UfNascimento, String NomeMae, String NomePai, String Telefone, String Telefone1, String Telefone2) throws SQLException {
    
        String sql = "INSERT INTO aluno(cd_aluno,aluno,status,endereco,cidade,bairro,uf,cep"
                + "data_nasc,idade,sexo,cpf,rg,nacionalidade,natural,uf,nm_mae,nm_pai,telefone,telefone1,telefone2) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
    
        Connection getCon = new Conexao().getcon();
        
        PreparedStatement stmt = getCon.prepareStatement(sql);
        
        stmt.setString(1, CodigoAluno);
        stmt.setString(2, Nome);
        stmt.setString(3, Status);
        stmt.setString(4, Endereco);
        stmt.setString(5, Cidade);
        stmt.setString(6, Bairro);
        stmt.setString(7, Uf);
        stmt.setString(8, Cep);
        stmt.setString(9, DataNasc);
        stmt.setString(10, Idade);
        stmt.setString(11, Sexo);
        stmt.setString(12, Cpf);
        stmt.setString(13, Rg);
        stmt.setString(14, Nacionalidade);
        stmt.setString(15, Natural);
        stmt.setString(16, UfNascimento);
        stmt.setString(17, NomeMae);
        stmt.setString(18, NomePai);
        stmt.setString(19, Telefone);
        stmt.setString(20, Telefone1);
        stmt.setString(21, Telefone2);
        
        stmt.execute();
        stmt.close();
        
        getCon.close();
        
        return null;

    }
}

11 Respostas

drsmachado

Cria uma classe com nome Aluno. Cada um dos parâmetros da assinatura será convertido em um atributo da classe aluno.
Então, muda a assinatura do método (que está horrível) para

public String Salvar(Aluno aluno){//blablabla
}

Entendeu?

FernandoFranzini

Horrível?
Esta o cão chupando manga dos avessos kkkkkkkkkkkkkkkkkkk

montanha007

:shock:

drsmachado

Aliás, muito sagaz o menino que usa preparedstatement e faz a assinatura assim.
Só um outro conselho, troque o String sql por StringBuffer.

isaiaspf

Uaslei,

Seu método não está nada legal, assim como a modelagem da sua tabela também não. Mas ignorando isso, segue método de forma menos pior:
public String salvar(Aluno aluno) throws SQLException {
	StringBuffer sql = new StringBuffer();
	sql.append("INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,");
	sql.append(" uf, cep, data_nasc, idade, sexo, cpf, rg, nacionalidade, natural, uf,");
	sql.append(" nm_mae, nm_pai, telefone, telefone1, telefone2)");
	sql.append(" VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)");

	Connection getCon = new Conexao().getcon();

	PreparedStatement stmt = getCon.prepareStatement(sql.toString());
	stmt.setObject(1, aluno.getCodigoAluno());
	stmt.setObject(2, aluno.getNome());
	stmt.setObject(3, aluno.getStatus());
	stmt.setObject(4, aluno.getEndereco());
	stmt.setObject(5, aluno.getCidade());
	stmt.setObject(6, aluno.getBairro());
	stmt.setObject(7, aluno.getUf());
	stmt.setObject(8, aluno.getCep());
	stmt.setObject(9, aluno.getDataNasc());
	stmt.setObject(10, aluno.getIdade());
	stmt.setObject(11, aluno.getSexo());
	stmt.setObject(12, aluno.getCpf());
	stmt.setObject(13, aluno.getRg());
	stmt.setObject(14, aluno.getNacionalidade());
	stmt.setObject(15, aluno.getNatural());
	stmt.setObject(16, aluno.getUfNascimento());
	stmt.setObject(17, aluno.getNomeMae());
	stmt.setObject(18, aluno.getNomePai());
	stmt.setObject(19, aluno.getTelefone());
	stmt.setObject(20, aluno.getTelefone1());
	stmt.setObject(21, aluno.getTelefone2());

	stmt.execute();
	stmt.close();

	getCon.close();

	return null;
}
Abraço.
FernandoFranzini

Agora ficou lindoooo !!! kkkk
Só faltou arrumar esse return null ai…

isaiaspf
Huahuahua. Certo.
public void salvar(Aluno aluno) throws SQLException {  
    StringBuffer sql = new StringBuffer();  
    sql.append("INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,");  
  
    ...
  
    getCon.close();  
}
FernandoFranzini

Agora sim…galera top !! :smiley:
Para quem tem duvidas de pratica OOP segue algumas dicas - http://fernandofranzini.wordpress.com/2009/01/23/programando-em-equipe/
T+

uaslei_Java
isaiaspf:
Huahuahua. Certo.
public void salvar(Aluno aluno) throws SQLException {  
    StringBuffer sql = new StringBuffer();  
    sql.append("INSERT INTO aluno(cd_aluno, aluno, status, endereco, cidade, bairro,");  
  
    ...
  
    getCon.close();  
}

valeu kra me ajudou bastante hehehe .... valeu galera muito obrigado

evandro.a.souza

Aproveitando esse tópico, gostaria de perguntar a seguinte coisa; E se eu tivesse um método que retorne meu array, com eu faria no stmt para chamar a posição apenas que eu quero do meu array para gramar em atributo de meu banco?.

public static void incluir (ModelVeiculo modelVeiculo)
{

Connection conn = null;
		PreparedStatement stm = null;
		
		try
		{
			Banco  acesso = new Banco();
			conn = acesso.conecta();
			
			String sqlInsert = " INSERT INTO VEICULO(  VEI_NOME								," +
													 " VEI_COR							," +
													 " VEI_ANO							," +
													 " VEI_CHASSIS							," +
													 " VEI_PLACA							," +
													 " VEI_FABRICANTE						," +
													 " VEI_KM_RODADO						," +
													 " VEI_DIARIA							," +
													 " VEI_KM_LIVRE						," +
													 " VEI_KM_CONTROLADO					," +
													 " VEI_SITUACAO_VEICULO					," +
													 " VEI_NAVEGADOR_GPS					," +
													 " VEI_CADEIRA_BEBE					," +
													 " VEI_MOTORISTA, VEI_ECONOMICO			," +
													 " VEI_ECNOMICO_COM_AR				," +
													 " VEI_INTERMEDIARIO					," +
													 " VEI_INTERMEDIARIO_WGON				," +
													 " VEI_INTERMEDIARIO_WAGON_ESPECIAL		," +
													 " VEI_EXECULTIVO						," +
													 " VEI_ULTILITARIO						," +
													 " VEI_EXECULTIVO_LUXO					," +
													 " VEI_PICK_UP							," +
													 " VEI_4X4_ESPECIAL						," +
													 " VEI_MINIVAN							," +
													 " VEI_FURGAO							," +
													 " VEI_BLINDADO ) 						 " +
													 " VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ) ";
			
			
			
			
				stm = conn.prepareStatement(sqlInsert);
				stm.setString ( 1,  modelVeiculo.getNomeVeiculo()); 
				stm.setString ( 2,  modelVeiculo.getCorVeiculo());
				stm.setString ( 3,  modelVeiculo.getChassi());
				stm.setString ( 4,  modelVeiculo.getPlaca());
				stm.setString ( 5,  modelVeiculo.getFabricante());
				stm.setInt    ( 6,  modelVeiculo.getAnoVeiculo());
				stm.setDouble ( 7,  modelVeiculo.getKmRodado());
				stm.setDouble ( 8,  modelVeiculo.getDiaria());
				stm.setDouble ( 9,  modelVeiculo.getKmLivre());
				stm.setDouble ( 10, modelVeiculo.getKmControlado());
				stm.setBoolean( 11, modelVeiculo.getSituacaoVeiculo());
				Adicionar aqui um forma de referencia um array e pegar a posição dele...			
				
                                    stm.execute();
				
			}
		}
	
		catch (Exception e)
		{
			e.printStackTrace();
			
			try
			{
				conn.rollback();
			}
			catch (SQLException e1)
			{
				System.out.print(e1.getStackTrace());
			}
		}
		finally
		{
			if (stm != null)
			{
				try
				{
					stm.close();
				}
				catch (SQLException e1)
				{
					System.out.print(e1.getStackTrace());
				}
			}
		}
	}

}

Obrigado…

uaslei_Java

Um exemplo para vc ve se te ajudar ai....

public List<Aluno> PesquisaAlunos(int campo, Object valor) throws SQLException {
        
        List<String> campos = new ArrayList<String>();
        campos.add("nm_aluno");
        campos.add("cpf");
        
        String sql = "select * from aluno, funcionario where id_fun = cd_fun and "+campos.get(campo) + " ilike '"+ valor+"%' order by 1";
        PreparedStatement stmt = conexao.prepareStatement(sql);
        ResultSet rs = stmt.executeQuery();
        
        List<Aluno> alunoList = new ArrayList<Aluno>();

        while (rs.next()) {
            Aluno aluno = new Aluno();
            aluno.setCdAluno(rs.getInt("cd_aluno"));
            aluno.setNome(rs.getString("nm_aluno"));
            aluno.setCpf(rs.getString("cpf"));
            aluno.setStatus(rs.getString("status"));
            aluno.setEndereco(rs.getString("endereco"));
            aluno.setCidade(rs.getString("cidade"));
            aluno.setBairro(rs.getString("bairro"));
            aluno.setUf(rs.getString("uf"));
            aluno.setCep(rs.getString("cep"));
            aluno.setDataNac(rs.getString("dt_nasc"));
            aluno.setIdade(rs.getInt("idade"));
            aluno.setSexo(rs.getString("sexo"));
            aluno.setCpf(rs.getString("cpf"));
            aluno.setRg(rs.getString("rg"));
            aluno.setNacionalidade(rs.getString("nacionalidade"));
            aluno.setNaturalidade(rs.getString("naturalidade"));
            aluno.setUf2(rs.getString("uf2"));
            aluno.setNomeMae(rs.getString("nm_mae"));
            aluno.setNomePai(rs.getString("nm_pai"));
            aluno.setTelefone(rs.getString("telefone"));
            aluno.setTelefone2(rs.getString("telefone2"));
            aluno.setTelefone3(rs.getString("telefone3"));
            aluno.setCategoria(rs.getString("categoria"));
            aluno.setCdFunc(rs.getInt("id_fun"));
            aluno.setNmFunc(rs.getString("nm_func"));
            alunoList.add(aluno);
        }

        rs.close();
        stmt.close();

        return alunoList;
    }
Criado 19 de julho de 2011
Ultima resposta 19 de set. de 2011
Respostas 11
Participantes 6