LoginSignup
0
0

【VSCode+SpringBoot】SpringBootでAPIを作る③

Last updated at Posted at 2023-12-15

前回↓

はじめに

今回からSpringBootの実装に入る
まずはMVCモデルのひとつであるModelの作成

📚そもそもMVCモデルとは??

MVCモデルとはコードを管理する上で便利なModel,View,Controllerの3つの頭文字をとった概念である。

Model作成

まず部品であるModelを作成していきます
demo内にmodelフォルダを作成してその中にPerson.javaを作成します

src/main/java/com/example/demo/model/Person.java
package com.example.demo.model;

import jakarta.persistance.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Data;

@Data
@Entity
public class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private Integer id;

    @Column(name = "name")
    private String name;

    @Column(name = "age")
    private Integer age;
}

⚠️注意

image.png
このようなエラーが出ている場合はpom.xmlの<dependencies></dependencies>内に以下を追記してください

pom.xml
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<dependency>
	<groupId>org.projectlombok</groupId>
	<artifactId>lombok</artifactId>
	<version>1.18.8</version>
	<scope>provided</scope>
</dependency>

✨解説

@から始まる見慣れないものがあると思います

@Data
@Entity
@GeneratedValue
@Id
@Column

これらはアノテーションと呼ばれるものです
SpringBootではアノテーションを前述することで動作や定義の決定を行うことができます

@Dataはコンパイル時に後述のクラスに対してこれらのメソッドを生成します

  • setter()
  • getter()
  • toString()
  • equals()
  • hashCode()

@EntityはJPAのエンティティクラスであることを定義します

@GeneratedValueは主キーの値の生成方法を指定します

今回は自動採番を採用しています

@Idはデータベースの主キーフィールドを宣言します

データベース内の主キーに設定したものにつけるとよいです

@Columnはエンティティの各フィールドにマッピングされる物理テーブルのカラム名を指定します

データベース内のカラムであることを指定するものです

アノテーションに関しては以下の記事が参考になるのでぜひ見てみてください

さいごに

今回はModelを作成しました
次回はViewを作成しようと思います

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0