Package dao.implementation.mysql.voiture

Source Code of dao.implementation.mysql.voiture.MySqlModeleVoitureDao

package dao.implementation.mysql.voiture;

import modele.voiture.MarqueVoiture;
import modele.voiture.ModeleVoiture;
import dao.IDao;
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.sql.Statement;
import java.util.ArrayList;

/**
* class MySqlModeleVoitureDao
* impl�mente les m�thodes DAO
* insert(final ModeleVoiture modeleVoiture)
* update(final ModeleVoiture modeleVoiture)
* find(final int id)
* findAll()
* delete( final ModeleVoiture modeleVoiture)
* Cette classe permet l'acc�s avec la base de donn�es
* @author Kasandra
*
*/
public class MySqlModeleVoitureDao  implements IDao<ModeleVoiture>{

  private static final String INSERT_MODELE_VOITURE = "insert into tmodelevoiture ( idMarqueVoit, descripModVoit) values (?,?)";
  private static final String UPDATE_MODELE_VOITURE   = "update tmodelevoiture set idMarqueVoit = ? , descripModVoit = ?  where idModVoit = ?";
  private static final String DELETE_MODELE_VOITURE   = "delete from tmodelevoiture where idModVoit = ?";
  private static final String GET_ALL_MODELE_VOITURE   = "select idModVoit, tmarqueVoiture.idMarqueVoit, tmarqueVoiture.descripMarqueVoit, descripModVoit  from tmodelevoiture, tmarquevoiture where tmodelevoiture.idMarqueVoit = tmarquevoiture.idMarqueVoit";
  private static final String GET_MODELE_VOITURE_BY_ID = GET_ALL_MODELE_VOITURE  + " and idModVoit = ?";

  public void delete(final ModeleVoiture modeleVoiture) {
    //�tablit la connexion avec la base de donn�es et la synchronise
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          try {
            smt = connection.prepareStatement(DELETE_MODELE_VOITURE);
            smt.setInt(1, modeleVoiture.getId());
            smt.executeUpdate();
          } finally {
            if (smt != null) {
              smt.close();
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
  }

  public ModeleVoiture find(final int id) {
    final ModeleVoiture[] result = new ModeleVoiture[1];
    //�tablit la connexion avec la base de donn�es et la synchronise
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
          try {
            smt = connection.prepareStatement(GET_MODELE_VOITURE_BY_ID);
            smt.setInt(1, id);
            res = smt.executeQuery();
            if (res.next()) {
              result[0] = new ModeleVoiture(res.getInt(1));

              MarqueVoiture marqueVoiture = new MarqueVoiture(res.getInt(2));
              marqueVoiture.setLibelle(res.getString(3));
              result[0].setMarqueVoiture(marqueVoiture);
              result[0].setNomModele(res.getString(4));

            }
          } 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<ModeleVoiture> findAll() {

    final ArrayList<ModeleVoiture> listeModeleVoiture = new ArrayList<ModeleVoiture>();
    //�tablit la connexion avec la base de donn�es et la synchronise
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          ResultSet res = null;
          try {
            smt = connection.prepareStatement(GET_ALL_MODELE_VOITURE);
            res = smt.executeQuery();
            while (res.next()) {

              ModeleVoiture modeleVoiture = new ModeleVoiture(res.getInt(1));

              MarqueVoiture marqueVoiture = new MarqueVoiture(res.getInt(2));
              marqueVoiture.setLibelle(res.getString(3));
              modeleVoiture.setMarqueVoiture(marqueVoiture);

              modeleVoiture.setNomModele(res.getString(4));

              listeModeleVoiture.add(modeleVoiture);
            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return listeModeleVoiture;
  }

  public ModeleVoiture insert(final ModeleVoiture modeleVoiture) {
    final ModeleVoiture[] result = new ModeleVoiture[1];
    result[0] = null;
    //�tablit la connexion avec la base de donn�es et la synchronise
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement psmt = null;
          try {

            psmt = connection.prepareStatement(INSERT_MODELE_VOITURE);

            psmt.setInt(1,modeleVoiture.getMarqueVoiture().getId());
            psmt.setString(2,modeleVoiture.getNomModele());

            psmt.executeUpdate();
          } finally {
            if (psmt != null) {
              psmt.close();
            }
          }
          Statement smt = null;
          ResultSet res = null;
          try {
            smt = connection.createStatement();
            res = smt.executeQuery("select idModVoit, tmarquevoiture.idMarqueVoit, tmarquevoiture.descripMarqueVoit, descripModVoit from tmodelevoiture, tmarquevoiture where tmodelevoiture.idMarqueVoit = tmarquevoiture.idMarqueVoit and idModVoit = LAST_INSERT_ID()");
            if (res.next()) {
              result[0] = new ModeleVoiture(res.getInt(1));

              MarqueVoiture marqueVoiture = new MarqueVoiture( res.getInt(2));
              marqueVoiture.setLibelle(res.getString(3));
              result[0].setMarqueVoiture(marqueVoiture);
              result[0].setNomModele(res.getString(4));

            }
          } finally {
            try {
              if (res != null) {
                res.close();
              }
            } finally {
              if (smt != null) {
                smt.close();
              }
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return result[0];
  }

  public ModeleVoiture update(final ModeleVoiture modeleVoiture) {
    //�tablit la connexion avec la base de donn�es et la synchronise
    AccessMySql.withConnection(new AccessMySql.RunnableWithConnection() {
      public void runWithconnection(Connection connection) {
        try {
          PreparedStatement smt = null;
          try {
            smt = connection.prepareStatement(UPDATE_MODELE_VOITURE);
            smt.setInt(1, modeleVoiture.getMarqueVoiture().getId());           
            smt.setString(2, modeleVoiture.getNomModele());
            smt.setInt(3, modeleVoiture.getId());

            smt.executeUpdate();
          }
          finally {
            if (smt != null) {
              smt.close();
            }
          }
        } catch (SQLException e) {
          throw new RuntimeException(e);
         
        }
      }
    });
    return modeleVoiture;
  }


}
TOP

Related Classes of dao.implementation.mysql.voiture.MySqlModeleVoitureDao

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.