☕
【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接続設定 |
Discussion