Java | DBから取得したデータを返すサンプル

Java Java
スポンサーリンク

では、Spring BootでDBからデータを取得してWeb APIのレスポンスとして返すサンプルを紹介します。実務でよく使う「ユーザー一覧」を返す例です。


サンプル構成

  • Userエンティティ(DBのテーブルに対応するクラス)
  • UserRepository(Spring Data JPAでDBアクセス)
  • UserController(APIエンドポイント)

1. Userエンティティ

import jakarta.persistence.Entity;
import jakarta.persistence.Id;

@Entity
public class User {
    @Id
    private Long id;
    private String name;
    private int age;

    // getter/setter
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }

    public String getName() { return name; }
    public void setName(String name) { this.name = name; }

    public int getAge() { return age; }
    public void setAge(int age) { this.age = age; }
}
Java

2. UserRepository

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

public interface UserRepository extends JpaRepository<User, Long> {
    // JpaRepositoryが基本的なCRUDを提供してくれる
}
Java

3. UserController

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;

@RestController
public class UserController {

    private final UserRepository userRepository;

    // コンストラクタインジェクション
    public UserController(UserRepository userRepository) {
        this.userRepository = userRepository;
    }

    @GetMapping("/users")
    public List<User> getUsers() {
        // DBから全件取得して返す
        return userRepository.findAll();
    }
}
Java

4. 実行結果(例)

GET http://localhost:8080/users

レスポンス(JSON形式):

[
  {"id":1,"name":"Yuki","age":25},
  {"id":2,"name":"Ren","age":30},
  {"id":3,"name":"Aoi","age":22}
]
JSON

実務ポイント

  • Spring Data JPA を使うと、SQLを書かずにDBからデータを取得できる。
  • findAll() はテーブルの全件を返す。
  • 実務では findByNamefindByAgeGreaterThan のようなメソッドを追加して、条件付き検索を行うことが多い。
  • DB接続設定は application.properties に記述する(例: MySQL)。
spring.datasource.url=jdbc:mysql://localhost:3306/sampledb
spring.datasource.username=root
spring.datasource.password=pass
spring.jpa.hibernate.ddl-auto=update

まとめ

  • エンティティでテーブルを表現
  • リポジトリでDBアクセス
  • コントローラでAPIとして返す
  • Spring Bootが自動でJSONに変換してくれるので、特別な処理は不要
Java
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました