ホームページ >Java >&#&チュートリアル >Spring Data JPA を使用して Spring Boot でデータベースに接続する

Spring Data JPA を使用して Spring Boot でデータベースに接続する

不言
不言転載
2018-10-17 16:16:343799ブラウズ

この記事の内容は Spring Boot でデータベースに接続するための Spring Data JPA に関するものです。必要な方は参考にしていただければ幸いです。

以前はデータベース開発に Mybatis を使用していましたが、最近 Spring Boot を学習した後、JPA の方が使いやすいことがわかりました。JPA の原理について一緒に学びましょう。

Spring Data JPA

JPA の簡単な紹介

Java Persistence API (JPA) は Java の仕様です。 Java オブジェクトとリレーショナル データベースの間でデータを保存するために使用されます。
JPA は、オブジェクト指向ドメイン モデルとリレーショナル データベース システムの間のブリッジとして機能します。 JPA は単なる仕様であるため、それ自体では何も機能しません。実装が必要です。したがって、Hibernate、TopLink、iBatis などの ORM ツールは JPA データ永続化仕様を実装しています。

Spring Data JPA は、ORM フレームワークと JPA 仕様に基づいて Spring によってカプセル化された JPA アプリケーション フレームワークのセットで、開発者が最小限のコードでデータにアクセスして操作できるようにします。追加・削除・変更・確認などの共通機能があり、拡張も簡単! Spring Data JPAを学び活用することで開発効率が大幅に向上します!

基本クエリ

Spring Data JPA には、基本的な追加、削除、変更、クエリなど、いくつかの基本的なデータベース操作が実装されています。

まず、関連する依存関係を pom.xml に導入する必要があります。

    <dependency>
    <groupid>mysql</groupid>
    <artifactid>mysql-connector-java</artifactid>
    </dependency>
    <dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-data-jpa</artifactid>
    </dependency>

2 番目に、application.properties 構成ファイルにデータベース関連の構成と jpa 関連の構成を追加する必要があります。

    #配置数据源
    spring.datasource.driver-class-name=com.mysql.jdbc.Driver
    spring.datasource.url=jdbc:mysql://localhost:3306/springboot
    spring.datasource.username=username
    spring.datasource.password=password
    
    #jpa数据库表格创建的方式,和控制台sql的打印
    jpa.hibernate.ddl-auto=update
    jpa.hibernate.show-sql=true

3 番目に、エンティティ クラスを作成します。

通常であれば、エンティティクラスに @Entity アノテーションを付けると、エンティティクラスとテーブルが関連付けられます。
属性の 1 つをデータベースに関連付ける必要がなく、表示中に計算を行うだけの場合は、@Transient 属性を追加するだけで済みます。

Spring Data JPA を使用して Spring Boot でデータベースに接続する

@Id は主キーを識別します。
@GeneratedValue は、指定された主キーの自動インクリメント メソッドです。

4 番目に、クエリ メソッドを作成します。

JpaRepository インターフェースを実装するインターフェースを記述するだけです。
JpaRepository の後に 2 つのパラメーターを追加する必要があります。1 つはエンティティ クラスで、もう 1 つは主キーの型です。

Spring Data JPA を使用して Spring Boot でデータベースに接続する

#JpaRepository を継承すると、簡単な追加、削除、変更、検索機能が利用できるようになります。

@Test
public void testBaseQuery() throws Exception {
    Girl girl=new Girl();
    userRepository.findAll();
    userRepository.findOne(1);
    userRepository.save(girl);
    userRepository.delete(girl);
    // ...
}

カスタマイズされた単純なクエリ

これは基本的なクエリのみを満たすことができるため、彼が提供したクエリに従いたくない場合は、次のように記述する必要がありますか私たち自身のクエリステートメントですか?答えは間違いなくノーです。 JPA ルールに従っていくつかのクエリ ステートメントを生成することはできます。

カスタムの単純なクエリは、メソッド名に基づいて SQL を自動的に生成します。主な構文は、findXXBy、readAXXBy、queryXXBy、countXXBy、getXXBy の後に属性名が続くものです。

Spring Data JPA を使用して Spring Boot でデータベースに接続する

Spring Data JPA を使用して Spring Boot でデータベースに接続する

複雑なクエリ

ここでは、SQL を自分で記述する必要があります。注意すべき点を見てみましょう。

SQL クエリ メソッドで @Query アノテーションを使用します。削除と変更が含まれる場合は、必要に応じて @Transactional サポート、クエリ タイムアウト設定などを追加することもできます。
注: クエリを作成する場合、HQL ステートメント内のテーブル名は、ORM によってマップされたクラス名である必要があります。

rreeee

以上がSpring Data JPA を使用して Spring Boot でデータベースに接続するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。