コード例 #1
1
  /**
   * Trouve tous les prets.
   *
   * @return La liste des prets; une liste vide sinon
   * @throws DAOException S'il y a une erreur avec la base de données
   */
  public List<PretDTO> getAll() throws DAOException {

    List<PretDTO> listeDTO = Collections.EMPTY_LIST;

    PretDTO pretDTO = null;
    try (PreparedStatement getAllPreparedStatement =
            getConnection().prepareStatement(PretDAO.GET_ALL_REQUEST);
        ResultSet resultSet = getAllPreparedStatement.executeQuery(); ) {

      if (resultSet.next()) {
        listeDTO = new ArrayList<>();
        do {
          pretDTO = new PretDTO();
          pretDTO.setIdPret(resultSet.getInt(1));
          pretDTO.getMembreDTO().setIdMembre(resultSet.getInt(2));
          pretDTO.getLivreDTO().setIdLivre(resultSet.getInt(3));
          pretDTO.setDatePret(resultSet.getTimestamp(4));
          pretDTO.setDateRetour(resultSet.getTimestamp(5));
          listeDTO.add(pretDTO);
        } while (resultSet.next());
      }

    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }
    return listeDTO;
  }
コード例 #2
0
  /** {@inheritDoc} */
  @Override
  public void add(Connexion connexion, DTO dto)
      throws InvalidHibernateSessionException, InvalidDTOException, InvalidDTOClassException,
          DAOException {

    if (connexion == null) {
      throw new InvalidHibernateSessionException("La connexion ne peut être null");
    }
    if (dto == null) {
      throw new InvalidDTOException("Le DTO ne peut être null");
    }
    if (!dto.getClass().equals(getDtoClass())) {
      throw new InvalidDTOClassException("Le DTO doit être un " + getDtoClass().getName());
    }
    final PretDTO pretDTO = (PretDTO) dto;
    try (PreparedStatement addPreparedStatement =
        connexion.getConnection().prepareStatement(PretDAO.ADD_REQUEST)) {

      addPreparedStatement.setString(1, pretDTO.getMembreDTO().getIdMembre());
      addPreparedStatement.setString(2, pretDTO.getLivreDTO().getIdLivre());
      addPreparedStatement.setTimestamp(3, pretDTO.getDatePret());
      addPreparedStatement.setTimestamp(4, pretDTO.getDateRetour());

      addPreparedStatement.executeUpdate();
    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }
  }
コード例 #3
0
  /** {@inheritDoc} */
  @Override
  public List<PretDTO> getAll(Connexion connexion, String sortByPropertyName)
      throws InvalidHibernateSessionException, InvalidSortByPropertyException, DAOException {

    if (connexion == null) {
      throw new InvalidHibernateSessionException("La connexion ne peut être null");
    }
    if (sortByPropertyName == null) {
      throw new InvalidSortByPropertyException(
          "La propriété utilisée pour classer les prets ne peut être null");
    }

    List<PretDTO> listeDTO = Collections.EMPTY_LIST;
    try (PreparedStatement getAllPreparedStatement =
            connexion.getConnection().prepareStatement(PretDAO.GET_ALL_REQUEST);
        ResultSet resultSet = getAllPreparedStatement.executeQuery(); ) {
      PretDTO pretDTO = null;
      if (resultSet.next()) {
        listeDTO = new ArrayList<>();
        do {
          pretDTO = new PretDTO();
          pretDTO.setIdPret(resultSet.getString(1));
          pretDTO.getMembreDTO().setIdMembre(resultSet.getString(2));
          pretDTO.getLivreDTO().setIdLivre(resultSet.getString(3));
          pretDTO.setDatePret(resultSet.getTimestamp(4));
          pretDTO.setDateRetour(resultSet.getTimestamp(5));
          listeDTO.add(pretDTO);
        } while (resultSet.next());
      }

    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }
    return listeDTO;
  }
コード例 #4
0
  /** {@inheritDoc} */
  @Override
  public void add(Connexion connexion, DTO dto)
      throws DAOException, InvalidHibernateSessionException, InvalidDTOException,
          InvalidDTOClassException {
    if (connexion == null) {
      throw new InvalidHibernateSessionException("La connexion ne peut être null");
    }
    if (dto == null) {
      throw new InvalidDTOException("Le DTO ne peut être null");
    }
    if (!dto.getClass().equals(getDtoClass())) {
      throw new InvalidDTOClassException(
          "Le DTO doit être de la classe " + getDtoClass().getName());
    }
    PretDTO pretDTO = (PretDTO) dto;

    try (PreparedStatement statementAdd =
        (connexion.getConnection().prepareStatement(PretDAO.ADD_REQUEST))) {

      statementAdd.setString(1, pretDTO.getMembreDTO().getIdMembre());
      statementAdd.setString(2, pretDTO.getLivreDTO().getIdLivre());
      statementAdd.setTimestamp(3, pretDTO.getDatePret());
      statementAdd.executeUpdate();

    } catch (SQLException sqlException) {
      throw new DAOException(
          Integer.toString(sqlException.getErrorCode()) + " " + sqlException.getMessage(),
          sqlException);
    }
  }
コード例 #5
0
  /**
   * Ajoute un nouveau pret.
   *
   * @param pretDTO Le pret à ajouter
   * @throws DAOException S'il y a une erreur avec la base de données
   */
  public void add(PretDTO pretDTO) throws DAOException {
    try (PreparedStatement addPreparedStatement =
        getConnection().prepareStatement(PretDAO.ADD_REQUEST)) {

      addPreparedStatement.setInt(1, pretDTO.getMembreDTO().getIdMembre());
      addPreparedStatement.setInt(2, pretDTO.getLivreDTO().getIdLivre());
      addPreparedStatement.setTimestamp(3, pretDTO.getDatePret());
      addPreparedStatement.setTimestamp(4, pretDTO.getDateRetour());

      addPreparedStatement.executeUpdate();
    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }
  }
コード例 #6
0
  /**
   * Met à jour un pret.
   *
   * @param pretDTO Le pret à mettre à jour
   * @return Le nombre de lignes affectées par la modification
   * @throws DAOException S'il y a une erreur dans la base de données
   */
  public int update(PretDTO pretDTO) throws DAOException {
    int result = 0;
    try (PreparedStatement updatePreparedStatement =
        getConnection().prepareStatement(PretDAO.UPDATE_REQUEST)) {

      updatePreparedStatement.setInt(1, pretDTO.getMembreDTO().getIdMembre());
      updatePreparedStatement.setInt(2, pretDTO.getLivreDTO().getIdLivre());
      updatePreparedStatement.setTimestamp(3, pretDTO.getDatePret());
      updatePreparedStatement.setTimestamp(4, pretDTO.getDateRetour());
      updatePreparedStatement.setInt(5, pretDTO.getIdPret());

      result = updatePreparedStatement.executeUpdate();
    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }

    return result;
  }