登録/変更/削除/照会springboot投稿API-03


投稿クエリー機能のテスト


H 2データベースWebコンソールの有効化



application.propertiesのspringは次のようになります.h2.console.enabled=true構文.

作成された場合は、アプリケーション・クラスのマスター・メソッドを実行し、Webブラウザでhttp://localhost:8080/h2-consoleに接続してWebコンソールの画面を表示します.

JDBC URLをjdbc:h 2:mem:testdbとして作成し、Connectボタンをクリックして現在のプロジェクトH 2を管理する管理ページに移動します.

プロジェクトH 2データベース管理ページ接続の確認



POTSテーブルが正常に存在するかどうかを確認し、SELECT*FROM POTSを入力し、Runボタンを使用してクエリーを実行します.

h 2データベースには、アプリケーションが閉じるたびにデータベース内のデータが初期化されるため、データがありません.簡単なinsertクエリーを実行すると、クエリークエリーではなくクエリーapiを表示します.

Insertクエリーの実行



上記のように1行目を挿入します.

クエリーapiのテスト


Webブラウザで、http://localhost:8080/api/v1/posts/1と入力してクエリー機能をテストします.

上記で挿入したデータがクエリー可能であれば、クエリー機能は良好に動作する.

JPA AUDINGを使用して作成および変更時間を自動的に実行


LocalDateを使用したBaseTimeEntityクラスの作成


ドメインパッケージにBaseTimeEntityクラスを作成します.

BaseTimeEntityクラスの作成

package com.momenting.book.springboot.domain;

import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;

import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.time.LocalDateTime;

@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
    @CreatedDate
    private LocalDateTime createdDate;

    @LastModifiedDate
    private  LocalDateTime modifiedDate;
    
}
  • @MappedSuperclass:JPA EntityクラスがBaseTimeEntityを継承する場合、Dateの作成とDateの変更はColumnとして認識できるツール
  • @EntityListener.class:BaseTimeEntityクラスに監査機能を含むツール
  • @CreatedDate:Entity作成および保存時に自動的に時間を保存します.
  • @LastModifiedDate:クエリのEntity値を変更すると、時間が自動的に変更されます.
  • PostsクラスをBaseTimeEntityクラスの継承に変更



    アプリケーションクラスへのJPAレビューアクティブ化宣言の追加