SpringBoot はどのようにデータベースに接続しますか

Spring Boot は、リレーショナルおよび非リレーショナルの両方のさまざまな種類のデータベースに簡単に接続できる、人気のある Java 開発フレームワークです。この記事では、Spring Boot がデータベースに接続する方法を、原理やコード例も含めて紹介します。

ここに画像の説明を挿入

1. Spring Bootがデータベースに接続する原理

Spring Boot は、Spring Data JPA を使用してデータベースに接続します。Spring Data JPA は Spring Data の一部であり、JPA 仕様に基づいた永続化フレームワークです。これはデータベースと対話する簡単な方法を提供し、基本的な CRUD 操作を簡単に実装できます。

Spring Boot は、リレーショナル データベース (MySQL、PostgreSQL、Oracle、SQL Server など) や非リレーショナル データベース (MongoDB など) を含む、さまざまなデータベースを使用できます。Spring Boot はデータベースごとに異なるドライバーを使用して接続できます。

データベースに接続する前に、Spring Boot プロジェクトの構成ファイルにデータベース接続情報を指定する必要があります。この情報には、データベースの URL、ユーザー名、パスワード、ドライバー名が含まれます。Spring Boot はこの情報を自動的にロードし、それを使用してデータベース接続を作成します。

2. Spring Boot が MySQL データベースに接続するためのサンプルコード

以下は、Spring Boot を使用して MySQL データベースに接続するためのサンプル コードです。まず、MySQL ドライバーの依存関係を pom.xml ファイルに追加する必要があります。

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.26</version>
</dependency>

次に、application.properties ファイルに MySQL データベースの接続情報を指定します。

spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

ここでは、ローカルホスト上の MySQL データベースに接続することを指定し、ユーザー名は「root」、パスワードは「123456」です。

次に、ユーザー情報を表すエンティティ クラス User を作成します。

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;

    private String email;

    // getters and setters
}

ここでは、JPA アノテーションを使用して、エンティティ クラスの名前とテーブルの名前、および指定された ID の生成戦略を指定します。

次に、ユーザー データを操作するメソッドを定義する UserRepository インターフェイスを作成します。

public interface UserRepository extends JpaRepository<User, Long> {
    List<User> findByName(String name);
}

ここでは、JpaRepository インターフェイスを拡張し、エンティティ クラスと ID タイプを指定します。このインターフェイスは、ユーザーを名前で検索するメソッドも定義します。

最後に、HTTP リクエストを処理し、UserRepository を使用してデータベースにアクセスする UserController クラスを作成します。

@RestController
@RequestMapping("/users")
public class UserController {
    @Autowired
    private UserRepository userRepository;

    @GetMapping
    public List<User> getUsers() {
        return userRepository.findAll();
    }

    @GetMapping("/{name}")
    public List<User> getUsersByName(@PathVariable String name) {
        return userRepository.findByName(name);
    }

    @PostMapping
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }
}

ここでは、Spring MVC アノテーションを使用して、HTTP リクエストの処理方法を定義しました。このクラスは、Autowired アノテーションを使用して UserRepository インスタンスを自動的に挿入し、それを使用してデータベースにアクセスします。

3. まとめ

この記事では、Spring Boot がデータベースに接続する方法を、原理やコード例も含めて紹介します。Spring Data JPA を使用すると、Spring Boot はさまざまな種類のデータベースに簡単に接続し、基本的な CRUD 操作を実装できます。実際の開発では、構成ファイルを変更し、エンティティ クラス、リポジトリ インターフェイス、およびコントローラー クラスを作成することでデータベースにアクセスできます。

おすすめ

転載: blog.csdn.net/2302_77835532/article/details/130459120