検索

Java Spring フレームワークでは、JPA ベースのリポジトリが一般的に使用されます。これらのリポジトリはデータベース操作を管理する上で重要であり、Spring Data JPA モジュールの一部です。リポジトリは、JAVA アプリケーションからバックエンドに保存されたデータを保存、更新、抽出するための新しいエレガントな方法を定義します。すべての CRUD (作成、読み取り、更新、削除) 操作は、リポジトリ インターフェイスを使用して実装できます。 JPAはJAVA Persistence API(Application Program Interface)の略称です。名前が示すように、JPA はリレーショナル データベースで Java オブジェクトを永続化するのに役立ちます。これを行うには 2 つの方法があります。

広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

  1. リレーショナル テーブルは、マップ クラスを使用してサブシステムにマップされます。
  2. EntityManager API。

この記事では、CRUD 操作のための構文と JPA リポジトリの使用について説明します。

構文:

必要なライブラリをすべてインポートし、プロジェクトのクラスパス内の Spring、Persistence オブジェクト、および Java EE にリンクしたら、次のステップは、「JpaRepository」インターフェースを拡張してインターフェースを作成することです。これはリポジトリ ライブラリの拡張であり、CrudRepository や PagingAndSortingRepository などの他のリポジトリと、リポジトリの基本機能が含まれています。

注: JPA アプリケーションを使用するには、プロジェクトに POM.XML が存在する必要があります。

構造:

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;
import net.guides.springboot.jparepository.model.Employee;
@Repository
public interface repositoryname extends JpaRepository<parameter column name parameter data type>
{
}
//Invocation of the interface created above.
private repositoryname RepositoryName;
@Override
//Different functions from JPA library to be used for enabling transactions with databases.
public void run(String…... arguments) throws Exception {
RepositoryName.save(new TableName("Data1", "Data2", "Data3"));
RepositoryName.save(new TableName("Data1", "Data2", "Data3"));
RepositoryName.save(new TableName("Data1", "Data2", "Data3"));
RepositoryName.save(new TableName("Data1", "Data2", "Data3"));
logger.info("number of elements in table now: {}", RepositoryName.count());</parameter>

JPA リポジトリはどのように機能しますか?

これらの実装は、Java を使用して開発された Web アプリケーションまたはデスクトップ アプリケーションで永続性を有効にするために重要です。これらのインターフェイスを機能させるには、すべての依存ライブラリをクラスパスにロードする必要があります。 インターフェイスが作成されると、「save()」、「count()」、「info()」、「findAll()」、「sort()」などの関数を使用して、データ クエリまたは必要なデータ クエリを実行します。データ操作。 Java アプリケーションを介して下のテーブルの値を挿入、更新、または削除できるようにデータベースをセットアップする必要があります。リポジトリを使用すると、安全なトランザクションとともにデータベースのデータを簡単に処理できるようになります。

Java リポジトリの例

JPA リポジトリの実装は、初心者にとって複雑な時間のかかるプロジェクトです。すべてのリンクされたライブラリ、JAR、依存関係、サーバーのセットアップ、およびデータベースのセットアップが前提条件です。

ファイル: pom.xml

コード: これは https://start.spring.io からダウンロードできます。システムおよびアプリケーションの要件に応じて値を選択した後、ファイルを生成してダウンロードできます。

注: 「user」という名前のテーブルを持つデータベースが、「Id」と「Name」の 2 つの列を持つ H2 データベースにすでに存在していると仮定します。 「Id」はシステムによって自動的に生成される主キーです。

ファイル: UserControl.java

コード:

package test.controller;
import test.model.User
import test.repository.UserJpaRespository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/users")
public class UsersControl {
@Autowired
private UserJpaRespository userJpaRespository;
@GetMapping(value = "/all")
public List<user> findAll() {
return userJpaRespository.findAll();
}
@PostMapping(value = "/load")
public User load(@RequestBody final User users) {
userJpaRespository.save(users);
return userJpaRespository.findByName(users.getName());
}
}</user>

ファイル: User.java

コード:

package test.model
import test.controller;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.GeneratedValue;
@Entity
public class User {
private Long id;
private String name;
@Id
@GeneratedValue
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;}
}

ファイル: UserJPARepository.java

コード:

package test.repository;
import test.controller;
import package.model.User;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Component;
@Component
public interface UserJpaRespository extends JpaRepository<user long>{
}</user>

ファイル:Implementation.java

コード:

package test.implementation;
import static org.hamcrest.CoreMatchers.is;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import java.util.ArrayList;
import java.util.List;
import test.controller;
import org.junit.Before;
import org.junit.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest;
import org.springframework.http.MediaType;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import com.fasterxml.jackson.databind.ObjectMapper;
import test.model.user;
import com.fasterxml.jackson.databind.ObjectMapper;
import test.repository.UserJpaRespository;
@RunWith(SpringRunner.class)
public class Implementation {
private User user;
@MockBean
private UserJpaRespository userJpaRespository;
@Before
public void setUp()
{
user = new User();
user.setId(1l);
user.setName("Virat");
}
}

出力:

Javaリポジトリ

ここで値がデータベースに挿入されます。

説明

最初のファイル「UserControl」には、「@GetMapping()」や「@PostMapping」などの JPA 関数を使用した値の抽出または保存に関する詳細が含まれており、その機能をサポートするにはいくつかの基本ファイルが必要です。これらのサポート ファイルは、User.java および UserJPARepository.java.

です。

ファイル「User.java」は、Java オブジェクトの形式でデータベースの構造を維持し、Java 永続オブジェクトを使用してデータベースにアクセスできるようにします。プロジェクトの作業を開始するには、ステップ 1 で提供されたソース コードを使用して「pom.xml」ファイルを生成する必要があります。提供された出力では、「pom.xml」ファイルはプロジェクトに必要なすべての依存関係を設定します。 。依存関係には、「Spring Framework」関連データと永続オブジェクト関連データが含まれます。 UserJPARepository.java ファイルは、組み込みライブラリ JpaRepository.

を拡張することにより、JPA リポジトリの開始を提供します。

結論

JPA リポジトリは、JAVA 言語でクエリを作成するための汎用プラットフォームを提供するだけでなく、その下のどのデータベースでも使用できるため、非常に便利です。ライブラリによってバックアップされたタスクを実行するエレガントな関数を提供することで、コード行の数を削減します。これにより、「定型コード」の使用が減り、実行の見た目と速度が向上します。

以上がJavaリポジトリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?高度なJavaプロジェクト管理、自動化の構築、依存関係の解像度にMavenまたはGradleを使用するにはどうすればよいですか?Mar 17, 2025 pm 05:46 PM

この記事では、Javaプロジェクト管理、自動化の構築、依存関係の解像度にMavenとGradleを使用して、アプローチと最適化戦略を比較して説明します。

適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?適切なバージョン化と依存関係管理を備えたカスタムJavaライブラリ(JARファイル)を作成および使用するにはどうすればよいですか?Mar 17, 2025 pm 05:45 PM

この記事では、MavenやGradleなどのツールを使用して、適切なバージョン化と依存関係管理を使用して、カスタムJavaライブラリ(JARファイル)の作成と使用について説明します。

カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?カフェインやグアバキャッシュなどのライブラリを使用して、Javaアプリケーションにマルチレベルキャッシュを実装するにはどうすればよいですか?Mar 17, 2025 pm 05:44 PM

この記事では、カフェインとグアバキャッシュを使用してJavaでマルチレベルキャッシュを実装してアプリケーションのパフォーマンスを向上させています。セットアップ、統合、パフォーマンスの利点をカバーし、構成と立ち退きポリシー管理Best Pra

キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPA(Java Persistence API)を使用するにはどうすればよいですか?Mar 17, 2025 pm 05:43 PM

この記事では、キャッシュや怠zyなロードなどの高度な機能を備えたオブジェクトリレーショナルマッピングにJPAを使用することについて説明します。潜在的な落とし穴を強調しながら、パフォーマンスを最適化するためのセットアップ、エンティティマッピング、およびベストプラクティスをカバーしています。[159文字]

Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Javaのクラスロードメカニズムは、さまざまなクラスローダーやその委任モデルを含むどのように機能しますか?Mar 17, 2025 pm 05:35 PM

Javaのクラスロードには、ブートストラップ、拡張機能、およびアプリケーションクラスローダーを備えた階層システムを使用して、クラスの読み込み、リンク、および初期化が含まれます。親の委任モデルは、コアクラスが最初にロードされ、カスタムクラスのLOAに影響を与えることを保証します

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境