Bonjour. Dans cet article, nous affinerons le TODO que nous avons réalisé jusqu'à présent.
1: [Comprendre les super bases] Une brève description de MVC 2: [Préparer un modèle] Je veux créer un modèle avec Spring Initializr et créer un monde Hello 3: [Connexion / Paramètres / Affichage des données avec MySQL] Enregistrer les données temporaires dans MySQL-> Tout obtenir-> Afficher en haut 4: [Fonction POST] Implémentation de la fonction de publication 5: [Fonction PATCH] Basculer l'affichage TODO 6: [Easy to use JpaRepository] Implémentation de la fonction de recherche [7: [Commun avec les fragments de modèle Thymeleaf] Créer un en-tête] (https://qiita.com/nomad_kartman/items/8c33eca2880c43a06e40) [8: [Fonction PUT] Implémentation de la fonction d'édition] (https://qiita.com/nomad_kartman/items/66578f3f91a422f9207d) 9: Trier l'affichage TODO dans l'ordre chronologique + Régler la date d'échéance à la date d'aujourd'hui (maintenant ici)
Selon les spécifications actuelles, la liste TODO est affichée dans l'ordre chronologique de la date et de l'heure de création.
En d'autres termes, le nouveau TODO est en bas de l'écran.
C'est bien, mais trions-les par date d'enregistrement (c'est-à-dire par ordre de date de création la plus récente)!
Le travail de tri est assez important car c'est un travail qui suit lors de la manipulation des données!
java/com/example/todo/dao/TodoRepository.java
@Repository
public interface TodoRepository extends JpaRepository<TodoEntity, Long> {
List<TodoEntity> findByTitleContaining(String searchWord);
//↓ Ajouter
List<TodoEntity> findAllByOrderByCreateTimeDesc();
}
Une méthode pour implémenter la recherche de correspondance partielle a été ajoutée au référentiel, mais nous ajouterons un nouveau `` findAllByOrderByCreateTimeDesc () ''.
En faisant cela, JpaRepository transmettra toutes les données de la base de données dans un état où la date et l'heure de création sont triées par ordre décroissant.
C'est super pratique!
Modifiez ensuite la classe de service.
java/com/example/todo/TodoService.java
public List<TodoEntity> findAllTodo() {
//return todoRepository.findAll();
return todoRepository.findAllByOrderByCreateTimeDesc();
}
La partie commentée était la description jusqu'à présent, mais j'appellerai la fonction que j'ai créée plus tôt.
En faisant cela, la liste des TODO affichés dans / top sera dans l'ordre décroissant de la date et de l'heure de création!
Cette fois, j'écrirai JS directement dans top.html (ce n'est pas si bon de l'écrire directement, mais cette fois c'est une application simple alors faisons-le w)
resources/templates/top.html
<script>
var today = new Date();
today.setDate(today.getDate());
var yyyy = today.getFullYear();
var mm = ("0" + (today.getMonth() + 1)).slice(-2);
var dd = ("0" + today.getDate()).slice(-2);
$("#date").val(`${yyyy}-${mm}-${dd}`);
</script>
Ce n'est pas grave si vous écrivez un tel script juste avant la balise de fermeture du corps.
En définissant `` slice (-2) '', seuls les deux derniers chiffres de la chaîne sont affichés.
En faisant cela, le numéro à un chiffre sera affiché avec 0 attaché, comme 01, 05, et le numéro à deux chiffres sera affiché sans 0 (seuls les deux derniers chiffres de 012 seront affichés. .)
Ceux qui ont déjà fait référence à cette procédure de création de candidature TODO
resources/templates/top.html
<input type="date" id="date" name="deadline" class="col-9 my-0">
Je pense que c'est le cas, mais en fait, puisque id = "date" est défini ici, la date d'aujourd'hui est passée par JQuery.
C'est le réglage fin pour cette fois.
À partir de la prochaine fois, je voudrais aborder la gestion des exceptions!
Recommended Posts