【DAY35】Java最低限のクラス

に公開

✅ Spring Boot × DB:最小構成(4ファイル)

Main.java – アプリ起動

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}

User.java – エンティティ(テーブルに対応)

import jakarta.persistence.*;

@Entity
public class User {
    @Id
    @GeneratedValue
    private Long id;

    private String name;

    public User() {}

    public User(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

UserRepository.java – DBアクセス用(DAO)

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

UserController.java – Web API用

import org.springframework.web.bind.annotation.*;
import java.util.List;

@RestController
public class UserController {
    private final UserRepository repo;

    public UserController(UserRepository repo) {
        this.repo = repo;
    }

    @GetMapping("/users")
    public List<User> getAll() {
        return repo.findAll();
    }
}

✅ application.properties の設定(H2メモリDB)

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
spring.h2.console.enabled=true
spring.jpa.hibernate.ddl-auto=update

これで、Spring Boot 起動時に自動でメモリ上に User テーブルが作られ、GET /users で一覧取得できます。


✅ まとめ:最小の Spring Boot + DB 構成

ファイル名 役割
Main.java アプリ起動
User.java DBテーブル対応クラス
UserRepository.java DB操作
UserController.java HTTPエンドポイント
application.properties DB接続設定

GitHubで編集を提案

Discussion