/**
   * Supprime un livre.
   *
   * @param livreDTO Le livre à supprimer
   * @throws DAOException S'il y a une erreur dans la base de données
   */
  public void delete(LivreDTO livreDTO) throws DAOException {
    try (PreparedStatement deletePreparedStatement =
        getConnection().prepareStatement(LivreDAO.DELETE_REQUEST)) {

      deletePreparedStatement.setInt(1, livreDTO.getIdLivre());

      deletePreparedStatement.executeUpdate();
    } catch (final SQLException sqlException) {
      throw new DAOException(sqlException);
    }
  }
  /**
   * Met à jour un livre.
   *
   * @param livreDTO Le livre à 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(LivreDTO livreDTO) throws DAOException {
    int result = 0;
    try (PreparedStatement updatePreparedStatement =
        getConnection().prepareStatement(LivreDAO.UPDATE_REQUEST)) {

      updatePreparedStatement.setString(1, livreDTO.getTitre());
      updatePreparedStatement.setString(2, livreDTO.getAuteur());
      updatePreparedStatement.setTimestamp(3, livreDTO.getDateAcquisition());
      updatePreparedStatement.setInt(4, livreDTO.getIdLivre());

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

    return result;
  }