Package dao.implementation.mysql.chauffeur

Source Code of dao.implementation.mysql.chauffeur.MySqlReferenceChauffeurDao

package dao.implementation.mysql.chauffeur;

import modele.chauffeur.ReferenceChauffeur;
import dao.IReadOnlyDao;
import dao.implementation.mysql.AccessMySql;
import gui.MainWindow;
import gui.util.TaxiGuiUtil;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

/**
* <p>  MySqlReferenceChauffeurDao est une classe Dao qui implemente les m�thodes de l'interface IReadOnlyDao<ReferenceChauffeur> :</>
*   <ul>
*     <li> public ReferenceChauffeur find(final int id) : cherche le chauffeur par son id </li>
*     <li> public ArrayList<ReferenceChauffeur> findAll() : renvoie la liste des chauffeurs</li>
* </ul>    
* <p>Dans chaque m�thode, on �tablit la connexion avec la base de donn�es et on la synchronise</p>
* @author Kasandra
*
*/
public class MySqlReferenceChauffeurDao implements IReadOnlyDao<ReferenceChauffeur> {

  private final static String FIND_ALL = "select idChauf, nomChauf, prenomChauf from tchauffeurs";
  private final static String FIND_BY_ID = FIND_ALL + " where idChauf = ?";

  public ReferenceChauffeur find(final int id) {
   
    final ReferenceChauffeur[] result = new ReferenceChauffeur[1];
   
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
     
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
         
          try {
            smt = connection.prepareStatement(FIND_BY_ID);
            smt.setInt(1, id);
            res = smt.executeQuery();
            if (res.next()) {
              result[0] = new ReferenceChauffeur(res.getInt(1), res.getString(2), res.getString(3));
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
        }
      }
    });
    return result[0];
  }

  public ArrayList<ReferenceChauffeur> findAll() {
   
    final ArrayList<ReferenceChauffeur> results = new ArrayList<ReferenceChauffeur>();
   
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
          try {
            smt = connection.prepareStatement(FIND_ALL);
            res = smt.executeQuery();
            while (res.next()) {
              ReferenceChauffeur referenceChauffeur = new ReferenceChauffeur(res.getInt(1), res.getString(2), res.getString(3));
              results.add(referenceChauffeur);
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return results;
  }
}
TOP

Related Classes of dao.implementation.mysql.chauffeur.MySqlReferenceChauffeurDao

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.