皆さんこんにちは、
このチュートリアルでは、フロントエンドの API を作成するために、Spring Boot を MySQL に接続するために行ったプロセスについて説明します。
IDE (Intellij IDEA を使用しているため、このチュートリアルはそれに基づいています)
MySql ワークベンチ
ソースコードについてはここをクリックしてください。
start.spring.io にアクセスし、以下を選択します:
プロジェクト: Maven
言語: Java
スプリングブート: 3.3.0
コンテンツを必要なフィールドに記入します
包装: 瓶
ジャワ: 17
依存関係に関しては、以下が必要になります:
MySQL ドライバー
スプリングウェブ
Spring Data JPA
これらの後、initializr は次のようになります:
[生成] をクリックし、フォルダーを目的のパスに保存し、フォルダーのコンテンツを抽出します。
まず、MySQL でデータベースを作成します。これには MySQL Workbench を使用しました。
次のように、最も単純なデータベースでも機能します。
目的の IDE でフォルダーのコンテンツを開きます。このチュートリアルでは、Intellij IDEA を使用して説明します。
scr/resources/application.properties にある application.properties ファイルを開きます
このファイルでは、データベースへの接続に役立つ設定を構成します。
次の設定をファイルに書き込みます:
${DB_NAME}、${DB_USER}、${DB_PASSWORD} をデータベースの資格情報に置き換えます。
これらの設定は、作成したデータベースに接続するのに役立ちます:
spring.jpa.show-sql=true:
これにより、Hibernate によって生成された SQL ステートメントのログが有効になります。 true に設定すると、Hibernate は SQL ステートメントをコンソールに出力します。
spring.jpa.hibernate.ddl-auto=update:
この設定は、エンティティ定義と一致するようにデータベース スキーマを自動的に更新するために使用されます。値の更新は、Hibernate が既存のスキーマを更新し、エンティティ マッピングに必要な新しい列またはテーブルを追加することを意味します。
logging.level.org.hibernate.SQL=DEBUG:
これにより、Hibernate SQL ロガーのログ レベルが DEBUG に設定されます。実行されている SQL ステートメントに関する詳細情報が提供されます。
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE:
これにより、Hibernate タイプ記述子の SQL バインダーのログ レベルが TRACE に設定されます。これにより、SQL ステートメント内のパラメーターのバインドに関する詳細情報がログに記録されます。
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver:
これは、MySQL の JDBC ドライバーのクラス名を指定します。これは、データベースへの接続を確立するためにどのドライバーを使用するかを Spring Boot に指示します。
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQLDialect:
これにより、Hibernate ダイアレクトが MySQL 用に最適化された MySQLDialect に設定されます。これにより、Hibernate が MySQL と互換性のある SQL ステートメントを生成できるようになります。
次に、プロジェクトのメイン パッケージ内にサブパッケージを作成し、それを「モデル」と呼びます。内部で、必要に応じてそれを呼び出すクラスを作成します。私の場合は Users と呼びます。
package com.evaluation.evaluationSystem.model; import jakarta.persistence.*; @Entity @Table(name = "users") public class Users { public Long getId() { return id; } @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private Long id; @Column(name = "email") private String email; @Column(name = "password") private String password; public void setId(Long id) { this.id = id; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
このファイルでは、データベース テーブル users にマップされる JPA エンティティ Users を定義します。このクラスには、users テーブルの列に対応する ID、電子メール、およびパスワードのフィールドが含まれているため、フィールドがデータベースの列と一致していることを確認してください。
次に、「controller」という名前の別のサブパッケージを作成し、その中にファイルを作成します。
package com.evaluation.evaluationSystem.controller; import com.evaluation.evaluationSystem.model.Users; import com.evaluation.evaluationSystem.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.Optional; @RestController public class UsersController { @Autowired private UserRepository userRepository; @GetMapping("/users") public List<Users> getUsers(@RequestParam("search") Optional<String> searchParam){ return searchParam.map(param -> userRepository.getContainingQuote(param)) .orElse(userRepository.findAll()); } }
このファイルでは、検索パラメーターに基づいてユーザー エンティティをオプションでフィルターできる RESTful API エンドポイント (/users) を定義します。データベースの対話には UserRepository を利用し、@RestController アノテーションにより結果を JSON 形式で返します。 「/users」を任意のエンドポイントに置き換えます。
リポジトリと呼ばれるサブパッケージをもう 1 つ (最後の 1 つ) 作成し、ファイル インターフェイスを作成します (クラスではなく注意してください)。
package com.evaluation.evaluationSystem.repository; import com.evaluation.evaluationSystem.model.Users; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; import org.springframework.data.repository.query.Param; import java.util.List; public interface UserRepository extends JpaRepository<Users, Long> { @Query("SELECT u FROM Users u WHERE u.email LIKE %:word%") List<Users> getContainingQuote(@Param("word") String word); }
このファイルでは、データベースからデータを取得できるようにするクエリを定義します。必要に応じて編集してください。このクエリは JPQL (Java Persistence Query Language) を使用して作成します。これは、Java Persistence API (JPA) 仕様の一部として定義されたクエリ言語であり、Java オブジェクトおよびエンティティに対してデータベース操作を実行するために使用されます。
最後のフォルダー構造は次のようになります:
次に、メイン ファイル (私の場合は、EvaluationSystemApplication) に移動し、プロジェクトを実行します。すべてがうまく機能する場合は、localhost:8080/users (または選択したエンドポイント) にアクセスすると、データベースのデータが表示されます。データのテーブルには必ず何らかのコンテンツを入力してください。
このチュートリアルがお役に立てば幸いです。私もこの環境では初めてなので、勉強させていただきます。コメントや提案は大歓迎です。
Spring Boot、MySQL、React を使用してフルスタック Web アプリを開発する私の旅の最新情報を入手するには、お気軽に GitHub アカウントをフォローしてください!
以上がSpring Boot を MySQL に接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。