今回の記事はSpringBootのentityとは?という疑問に答える記事です。SpringBootはWeb開発をJavaで行う場合、非常に便利なフレームワークです。開発を行う際のディレクトリ構成やレイヤーの役割を押さえておくと開発効率的にもよいので、SpringBoot勉強中の方は是非参考にしてみてください。
また、SprtingBootの各ディレクトリ構成に関する記事や各ディレクトリの役割も別記事にまとめいているので是非参考にしてみてください。
- 【SpringBoot】ディレクトリ構成と各ディレクトリの役割ご紹介。
- 【SpringBoot】controllerとは?
- 【SpringBoot】formとは?
- 【SpringBoot】dtoとは?
- 【SpringBoot】serviceとは?
- 【SpringBoot】repositoryとは?
- 【SpringBoot】mapperとは?
- 【SpringBoot】entityとは? ←今回の記事
SpringBootにおけるentityとは?
entityとは文字で説明すると「テーブルを写像した永続化可能なJavaオブジェクトを提供する。」と説明している記事が多いです。
しかし、SpringBoot初心者にとってこの説明ではよくわからないと思います。
簡単に言い換えると、「テーブルの1行分のデータのかたまりのようなもの」です。
さらに簡単に説明するために画像を用意します。
上記の図のようにmapperクラス(DBからデータを取ってくるのみのクラス)で発行したSQLによってデータを取得した時の、入れ物のようなものです。
データが複数になっても、このentityが配列([entity1,entity2])のように入れ物が増えるイメージです。
SpringBootにおけるentityの実装
実際にコードでentityを表現すると下記のようになります。
package com.example.demo.entity;
public class User1 {
// id
private Integer id;
// 名前
private String name;
// 年齢
private Integer age;
}
entityだけを見ても回りずらいかもしれません。
repositoryからmapperでSQLを実行してデータを取得する場合の流れは下記のような流れです。
// インサート
public Integer insertUser(SampleDto dto){
// dtoからentityに置き換え
User1 user1 = new User1();
user1.setName(dto.getName());
user1.setAge(dto.getAge());
// mapperインスタンスからinsertメソッドを使用
Integer result = mapper.insert(user1);
return result;
}
さらにプロジェクト内でどのようにデータが流れていくかを知りたい方は上記でも紹介しましたが下記記事で各レポジトリの役割とサンプル的なアプリコードがありますので、そちらでentityの流れを追ってみてください。
「【SpringBoot】ディレクトリ構成と各ディレクトリの役割ご紹介。」
では、今回の記事は以上です。ほかにもSpringBoot関連の記事を記載しているので、是非参考にしてみてください。
コメント