Geração TEC - Lages - Maio/2013
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Exemplo DAO - Completo

Ir para baixo

Exemplo DAO - Completo Empty Exemplo DAO - Completo

Mensagem por Admin Qua maio 29, 2013 7:29 pm

FuncionarioDAO
Código:

import java.util.List;

public interface FuncionarioDAO {
   public void salveFuncionario(Funcionario funcionario);
   public Funcionario getFuncionarioByPK(int codigo);
   public List<Funcionario> getAllFuncionarios();
}


OracleFuncionarioDAO
Código:

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.List;


public class OracleFuncionarioDAO extends OracleGenericDAO implements FuncionarioDAO{

   @Override
   public List<Funcionario> getAllFuncionarios() {
      return null;
   }

   @Override
   public Funcionario getFuncionarioByPK(int codigo) {
      Connection connection = null;
      PreparedStatement pstmt = null;
      ResultSet rs = null;   
      
      try {
         connection = getConnection();
         String sql = "SELECT NOME, FUNCAO, SALARIO " +
               "FROM CW_FUNCIONARIO " +
               "WHERE CODIGO = ? ";
         pstmt = connection.prepareStatement(sql);
         pstmt.setInt(1, codigo);

         rs = pstmt.executeQuery();

         if (rs.next()) {
            Funcionario funcionario = new Funcionario();
            funcionario.setCodigo(codigo);
            funcionario.setNome(rs.getString("NOME"));
            funcionario.setFuncao(rs.getString("FUNCAO"));
            funcionario.setSalario(rs.getDouble("SALARIO"));
            
            return funcionario;
         } else {
            return null;
         }
         
      } catch (Exception e) {
         e.printStackTrace();
         return null;
      } finally {
         close(rs);
         close(pstmt);
         close(connection);
      }
   }

   @Override
   public void salveFuncionario(Funcionario funcionario) {
      Connection connection = null;
      PreparedStatement pstmt = null;
      
      try {
         connection = getConnection();
         
         String sql = "INSERT INTO CW_FUNCIONARIO " +
               "(CODIGO, NOME, FUNCAO, SALARIO) " +
               "VALUES(?, ?, ?, ?)";
         pstmt = connection.prepareStatement(sql);
         
         pstmt.setInt(1, funcionario.getCodigo());
         pstmt.setString(2, funcionario.getNome());
         pstmt.setString(3, funcionario.getFuncao());
         pstmt.setDouble(4, funcionario.getSalario());
         pstmt.executeUpdate();
      } catch (Exception e) {
         e.printStackTrace();
      } finally {
         close(pstmt);
         close(connection);
      }
   }
}

OracleGenericDAO
Código:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;


public class OracleGenericDAO {
   protected Connection getConnection() throws SQLException {
      String urlJDBC = "jdbc:oracle:thin:@server175:1531:derbades";
      Connection connection = DriverManager.getConnection(urlJDBC, "cursojava", "cursojava");
      return connection;
   }
   
   protected void close(ResultSet rs) {
      if (rs !=null) {
         try {
            rs.close();               
         } catch (Exception e) {
            e.printStackTrace();
         }
      }      
   }

   protected void close(PreparedStatement pstmt) {
      if (pstmt !=null) {
         try {
            pstmt.close();               
         } catch (Exception e) {
            e.printStackTrace();
         }
      }      
   }

   protected void close(Connection connection) {
      if (connection !=null) {
         try {
            connection.close();               
         } catch (Exception e) {
            e.printStackTrace();
         }
      }      
   }
}

DAOFactory
Código:

public class DAOFactory {
   
   public DAOFactory() {
   }
   
   public FuncionarioDAO getFuncionarioDAO() {
      return new OracleFuncionarioDAO();
   }
}

Exemplo de uso
Código:

      Funcionario funcionario = new Funcionario();
      
      System.out.println("Digite o codigo:");
      int codigo = scanner.nextInt();         
      funcionario.setCodigo(codigo);

      System.out.println("Digite o nome:");
      String nome = scanner.next();
      funcionario.setNome(nome);

      System.out.println("Digite a função:");
      String funcao = scanner.next();
      funcionario.setFuncao(funcao);

      System.out.println("Digite o salario:");
      double salario = scanner.nextDouble();
      funcionario.setSalario(salario);
      
      DAOFactory daoFactory = new DAOFactory();
      FuncionarioDAO dao = daoFactory.getFuncionarioDAO();
      dao.salveFuncionario(funcionario);

Admin
Admin

Mensagens : 82
Data de inscrição : 06/05/2013

https://geracaoteclages.forumeiros.com

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos