Package dao

Source Code of dao.DaoGare

package dao;

import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import externaldata.gare.Gare;


public class DaoGare {

  /* ------------------------------------------------ REQUETES PRECOMPILEES */
  private static CallableStatement statementAjouterListe = null;
  private static CallableStatement statementGetGareFromUic = null;
  private static CallableStatement statementGetGareFromDua = null;
  private static CallableStatement statementGetAllGaresWithDua = null;
  private static CallableStatement statementDeleteAllGares = null;
 
 
  static {
   
    try {
     
      statementAjouterListe = DbConnection.getInstance().prepareCall(
          "{call createGare(?, ?, ?)}");
     
      statementGetGareFromUic = DbConnection.getInstance().prepareCall(
          "{call getGareFromUic(?)}");

      statementGetGareFromDua = DbConnection.getInstance().prepareCall(
          "{call getGareFromDua(?)}");

      statementGetAllGaresWithDua = DbConnection.getInstance().prepareCall(
          "{call getAllGaresWithDua()}");

      statementDeleteAllGares = DbConnection.getInstance().prepareCall(
          "{call deleteAllGares()}");
     
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
 

 
  /* -------------------------------------------------- METHODES D'ACCES BD */
 
  public static void ajouterListe(List<Gare> gares) {
   
    for (Gare gare : gares) {
     
      try {
        synchronized (statementAjouterListe) {
          // Ajout des paramètres
         
          // UIC
          statementAjouterListe.setString(1, gare.getUic());
          // Nom
          statementAjouterListe.setString(2, gare.getNom());
          // DUA
          statementAjouterListe.setString(3, gare.getDua());
         
         
          // Exécution
          statementAjouterListe.execute();
        }
      } catch (SQLException e) {
        e.printStackTrace();
      }
    }
  }
 
  public static Gare getGareFromUic(String uic) {
   
    Gare resultGare = null;
   
    try {
      ResultSet rs = null;
     
      synchronized (statementGetGareFromUic) {
        statementGetGareFromUic.setString(1, uic);
       
        rs = statementGetGareFromUic.executeQuery();
      }
     
      if(rs != null && rs.last()) {
        if(rs.getRow() == 1) {
          // Attention à l'ordre des champs dans la table
          resultGare = new Gare(rs.getInt("id_gare"), rs.getString("nom"), rs.getString("uic"), rs.getString("dua"));
        }
        else {
          System.err.println("DaoGare.getGareFromUic(" + uic + ") : plusieurs résultats.");
        }
      }
      else {
        System.out.println("DaoGare.getGareFromUic(" + uic + ") : aucun résultat.");
      }
     
    } catch (SQLException e) {
      e.printStackTrace();
    }
   
    return resultGare;
  }
 
  public static Gare getGareFromDua(String dua) {
   
    Gare resultGare = null;
   
    try {
      ResultSet rs = null;
     
      synchronized (statementGetGareFromDua) {
        statementGetGareFromDua.setString(1, dua);
       
        rs = statementGetGareFromDua.executeQuery();
      }
     
      if (rs != null && rs.last()) {
        if (rs.getRow() == 1) {
          // Attention à l'ordre des champs dans la table
          resultGare = new Gare(rs.getInt("id_gare"), rs.getString("nom"), rs.getString("uic"), rs.getString("dua"));
        }
        else {
          System.err.println("DaoGare.getGareFromDua(" + dua + ") : plusieurs résultats.");
        }
      }
      else {
        System.out.println("DaoGare.getGareFromDua(" + dua + ") : aucun résultat.");
      }
     
    } catch (SQLException e) {
      e.printStackTrace();
    }
   
    return resultGare;
  }
 
  public static List<Gare> getAllGaresWithDua() {
   
    List<Gare> garesWithDua = null;
   
    try {
      ResultSet rs = null;
     
      synchronized (statementGetAllGaresWithDua) {
        rs = statementGetAllGaresWithDua.executeQuery();
      }
     
      if (rs != null) {
        garesWithDua = new ArrayList<Gare>();
       
        while (rs.next()) {
          // Attention à l'ordre des champs dans la table
          garesWithDua.add(new Gare(rs.getInt("id_gare"), rs.getString("nom"), rs.getString("uic"), rs.getString("dua")));
        }
      }
     
    } catch (SQLException e) {
      e.printStackTrace();
    }
   
    return garesWithDua;
  }
 
  public static void deleteAllGares() {
   
    try {
      synchronized (statementDeleteAllGares) {
        statementDeleteAllGares.execute();
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
  }
}
TOP

Related Classes of dao.DaoGare

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.