Spring boot掲示板の作成-エンティティの作成
個人的にサイドプロジェクトを開発します.
横書き項目の中の小機能の一つの掲示板から、springを勉強します.
domainパッケージが作成され、Boardパッケージとクラスが生成されます.
オートジェネレータ
Lombokを使用すると、コンストラクション関数を自動的に生成することもできます.@NoArgConstructor:パラメータなしのデフォルトジェネレータ を作成@AllArgConstructure:すべてのフィールド値をパラメータとするジェネレータを作成し、 をスケールします.@RequiredArgConstructure:finalまたは@NonNullは、パラメータとしてフィールド値のみを受け入れるジェネレータを作成します. JPAレビュー機能を使用するため、mainクラスに@EnableJpaAuditing宣言を追加しました.
JPA Auditing r機能とは?
JavaでORMテクノロジーJPAを使用してドメインをリレーショナル・データベース・テーブルにマッピングする場合、通常、ドメインが持つフィールドまたはカラムが存在します.作成日、変更日、識別子など、代表的なフィールドおよび列.
このため、JPAはAudit機能を提供している.Auditは、監視・感謝の意味で、Spring Data JPAが時間に自動的に値を付ける機能です.ドメインを永続コンテキストに保存するか、クエリーを実行して更新する場合は、毎回時間データを入力して更新する必要があります.auditを使用して時間を自動的にマッピングし、データベースのテープに挿入します.
Jpa Repositoryを継承します.
boardパッケージ内にrepositoryパッケージを作成し、インタフェースを作成します.
dtoパッケージを作成し、クラスを作成します.
参考になるブログ https://kyuhyuk.kr/article/spring-boot/2020/07/19/Spring-Boot-JPA-MySQL-Board-Write-Post https://webcoding-start.tistory.com/53 https://www.daleseo.com/lombok-popular-annotations/
横書き項目の中の小機能の一つの掲示板から、springを勉強します.
掲示板を作成する
-エンティティの実装
domainパッケージが作成され、Boardパッケージとクラスが生成されます.
import lombok.*;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.*;
import java.time.LocalDateTime;
@Getter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@Entity
@EntityListeners(AuditingEntityListener.class)
public class Board {
@Id
@GeneratedValue
private Long id;
@Column(length = 10, nullable = false)
private String author;
@Column(length = 100, nullable = false)
private String title;
@Column(columnDefinition = "TEXT", nullable = false)
private String content;
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime modifiedDate;
@Builder
public Board(Long id, String author, String title, String content) {
this.id = id;
this.author = author;
this.title = title;
this.content = content;
}
}
参照)オートジェネレータ
Lombokを使用すると、コンストラクション関数を自動的に生成することもできます.
@EnableJpaAuditing
@SpringBootApplication
public class FitspoApplication {
public static void main(String[] args) {
SpringApplication.run(FitspoApplication.class, args);
}
}
参照)JPA Auditing r機能とは?
JavaでORMテクノロジーJPAを使用してドメインをリレーショナル・データベース・テーブルにマッピングする場合、通常、ドメインが持つフィールドまたはカラムが存在します.作成日、変更日、識別子など、代表的なフィールドおよび列.
このため、JPAはAudit機能を提供している.Auditは、監視・感謝の意味で、Spring Data JPAが時間に自動的に値を付ける機能です.ドメインを永続コンテキストに保存するか、クエリーを実行して更新する場合は、毎回時間データを入力して更新する必要があります.auditを使用して時間を自動的にマッピングし、データベースのテープに挿入します.
-Repositoryの実装
Jpa Repositoryを継承します.
boardパッケージ内にrepositoryパッケージを作成し、インタフェースを作成します.
import org.springframework.data.jpa.repository.JpaRepository;
import toypj.fitspo.domain.board.Board;
public interface BoardRepository extends JpaRepository<Board, Long> {
}
-DTOの実装
dtoパッケージを作成し、クラスを作成します.
@Getter
@Setter
@ToString
@NoArgsConstructor
public class BoardDto {
private Long id;
private String author;
private String title;
private String content;
private Long fileId;
private LocalDateTime createdDate;
private LocalDateTime modifiedDate;
public Board toEntity() {
Board build = Board.builder()
.id(id)
.author(author)
.title(title)
.content(content)
.build();
return build;
}
@Builder
public BoardDto(Long id, String author, String title, String content, Long fileId, LocalDateTime createdDate, LocalDateTime modifiedDate) {
this.id = id;
this.author = author;
this.title = title;
this.content = content;
this.fileId = fileId;
this.createdDate = createdDate;
this.modifiedDate = modifiedDate;
}
}
参考になるブログ
Reference
この問題について(Spring boot掲示板の作成-エンティティの作成), 我々は、より多くの情報をここで見つけました https://velog.io/@yulhee741/Spring-boot-게시판-만들기-entity-생성テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol