ホームページ Java &#&チュートリアル Spring Boot と MyBatis Plus に基づいて ORM マッピングを実装する

Spring Boot と MyBatis Plus に基づいて ORM マッピングを実装する

Jun 22, 2023 pm 09:27 PM
spring boot オームマッピング mybatis plus

Java Web アプリケーションの開発プロセスでは、ORM (オブジェクト リレーショナル マッピング) マッピング テクノロジを使用して、データベース内のリレーショナル データを Java オブジェクトにマッピングし、開発者がデータにアクセスして操作できるようにします。 Spring Boot は現在最も人気のある Java Web 開発フレームワークの 1 つであり、MyBatis を統合する方法を提供しています。MyBatis Plus は MyBatis をベースに拡張された ORM フレームワークです。この記事では、Spring Boot と MyBatis Plus を使用して ORM マッピングを実装する方法を紹介します。

1. Spring Boot は MyBatis Plus を統合します
Spring Boot で MyBatis Plus を使用するのは非常に簡単で、MyBatis Plus の依存関係を Maven に追加するだけです。

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.2</version>
</dependency>
ログイン後にコピー

同時に、次に示すように、application.properties または application.yml で MyBatis Plus 関連のパラメータを設定します。

#数据库配置
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/mybatis_plus?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
#MyBatis Plus配置
mybatis.configuration.cache-enabled=false
mybatis.mapper-locations=classpath:mapper/*.xml
ログイン後にコピー

その中で、driver-class-name、url、username、およびパスワードはデータベース関連の設定であり、mapper-locations は MyBatis Plus の SQL マッピング設定ファイルが配置されているパスです。

2. エンティティ クラスと Mapper インターフェイスを定義する
MyBatis と同様、MyBatis Plus を使用するにはエンティティ クラスと Mapper インターフェイスを定義する必要があります。以下では、単純な User テーブルを例として、対応するエンティティ クラスと Mapper インターフェイスを定義します。

  1. エンティティ クラスの定義
@Getter
@Setter
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class User {

    private Integer id;
    private String name;
    private Integer age;
    private String email;
    private Integer gender;
    private LocalDateTime createTime;
    private LocalDateTime updateTime;

}
ログイン後にコピー

注釈 @Getter、@Setter、および @Builder を使用するとコードを簡素化できますが、@NoArgsConstructor と @AllArgsConstructor はパラメーターの生成に使用されます。無料で完全なパラメータ コンストラクター。

  1. Mapper インターフェイスの定義
public interface UserMapper extends BaseMapper<User> {
}
ログイン後にコピー

MyBatis Plus が提供する BaseMapper をここで使用します。これにより、多くの面倒な SQL 操作を節約できます。

3. データベース操作に MyBatis Plus を使用する
Mapper インターフェイスを定義した後、データベース操作に MyBatis Plus を使用できます。

  1. データの挿入
User user = User.builder()
        .name("test")
        .age(20)
        .email("test@test.com")
        .gender(1)
        .createTime(LocalDateTime.now())
        .updateTime(LocalDateTime.now())
        .build();
int count = userMapper.insert(user);
ログイン後にコピー

データを挿入するときは、Mapper インターフェイスで提供される挿入メソッドを直接使用できます。MyBatis Plus は、エンティティ クラスの属性を自動的にマッピングします。データベースの対応する列。

  1. クエリ データ
List<User> userList = userMapper.selectList(null);
ログイン後にコピー

データをクエリするときは、Mapper インターフェイスで提供される selectList メソッドを直接使用し、null または空の QueryWrapper オブジェクトを渡してクエリを実行できます。すべてのデータ。さらに、MyBatis Plus が提供するラムダ式とチェーン操作を使用して、以下に示すように、より複雑なクエリを実行することもできます。

QueryWrapper<User> wrapper = Wrappers.<User>lambdaQuery()
        .eq(User::getGender, 1)
        .ge(User::getAge, 20)
        .orderByDesc(User::getCreateTime);
List<User> userList = userMapper.selectList(wrapper);
ログイン後にコピー

上記のコードでは、Wrappers を使用します。lambdaQuery() A QueryWrapperオブジェクトが定義され、.eq、.ge、および .orderByDesc チェーン操作を通じてクエリ条件と並べ替えルールが構築されます。

  1. データの更新
User user = userMapper.selectById(id);
user.setAge(30);
int count = userMapper.updateById(user);
ログイン後にコピー

データを更新するときは、まず selectById を使用して更新が必要なデータをクエリし、次に更新が必要な属性を変更します。 updateById を使用して、変更されたデータがデータベースに更新されます。

  1. データの削除
int count = userMapper.deleteById(id);
ログイン後にコピー

最後に、データを削除するときは、Mapper インターフェイスで提供される deleteById メソッドを呼び出すだけです。

4. 結論
この記事では、Spring Boot と MyBatis Plus を使用して ORM マッピングを実装する方法を紹介し、簡単な構成とコードでデータベース操作を実現できます。 MyBatis Plus は、MyBatis の拡張フレームワークとして、コードの可読性と保守性を向上させながら、開発者の作業負荷を大幅に簡素化できます。紙面の都合上、本稿ではMyBatis Plusの基本的な使い方のみを紹介しますので、より高度な機能については公式ドキュメントを参照してください。

以上がSpring Boot と MyBatis Plus に基づいて ORM マッピングを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホット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ヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Spring Boot + MyBatis + Atomikos + MySQL (ソースコード付き) Spring Boot + MyBatis + Atomikos + MySQL (ソースコード付き) Aug 15, 2023 pm 04:12 PM

実際のプロジェクトでは、分散トランザクションを避けるように努めます。ただし、場合によってはサービスを分割する必要があり、分散トランザクションの問題が発生することがあります。同時に、分散取引についても面接で質問されるので、このケースで練習し、面接で 123 について話すことができます。

Spring Boot を通じて多言語サポートと国際アプリケーションを実現 Spring Boot を通じて多言語サポートと国際アプリケーションを実現 Jun 23, 2023 am 09:09 AM

グローバリゼーションの進展に伴い、多言語サポートや国際化機能を提供する必要のある Web サイトやアプリケーションがますます増えています。開発者にとって、これらの機能を実装することは、言語翻訳、日付、時刻、通貨の形式など、多くの側面を考慮する必要があるため、簡単な作業ではありません。ただし、SpringBoot フレームワークを使用すると、多言語サポートと国際アプリケーションを簡単に実装できます。まず、SpringBoot が提供する LocaleResolver インターフェースについて理解しましょう。ロック

Spring Boot と MyBatis Plus に基づいて ORM マッピングを実装する Spring Boot と MyBatis Plus に基づいて ORM マッピングを実装する Jun 22, 2023 pm 09:27 PM

Java Web アプリケーションの開発プロセスでは、ORM (Object-RelationalMapping) マッピング テクノロジを使用してデータベース内のリレーショナル データを Java オブジェクトにマッピングし、開発者がデータにアクセスして操作するのを容易にします。 SpringBoot は、最も人気のある Java Web 開発フレームワークの 1 つとして、MyBatis を統合する方法を提供しています。MyBatisPlus は、MyBatis に基づいて拡張された ORM フレームワークです。

Spring Boot と NoSQL データベースの統合と使用 Spring Boot と NoSQL データベースの統合と使用 Jun 22, 2023 pm 10:34 PM

インターネットの発展に伴い、ビッグデータ分析とリアルタイム情報処理が企業にとって重要なニーズとなっています。このようなニーズを満たすために、従来のリレーショナル データベースはビジネスやテクノロジー開発のニーズを満たせなくなりました。代わりに、NoSQL データベースを使用することが重要なオプションになっています。この記事では、最新のアプリケーションの開発と展開を可能にする、NoSQL データベースと統合された SpringBoot の使用について説明します。 NoSQL データベースとは何ですか? NoSQL は SQL だけではありません

Spring Boot を使用してビッグデータ処理アプリケーションを構築する方法 Spring Boot を使用してビッグデータ処理アプリケーションを構築する方法 Jun 23, 2023 am 09:07 AM

ビッグデータ時代の到来により、ますます多くの企業がビッグデータの価値を理解し、認識し、ビジネスに活用し始めています。それに伴う問題は、この大規模なデータ フローをどのように処理するかです。この場合、ビッグ データ処理アプリケーションは、すべての企業が検討しなければならないものになっています。開発者にとっては、SpringBoot を使用して効率的なビッグデータ処理アプリケーションを構築する方法も非常に重要な問題です。 SpringBoot は非常に人気のある Java フレームワークです。

Spring Boot と Apache ServiceMix を使用した ESB システムの構築 Spring Boot と Apache ServiceMix を使用した ESB システムの構築 Jun 22, 2023 pm 12:30 PM

現代のビジネスがさまざまな異種のアプリケーションやシステムにますます依存するようになるにつれて、企業の統合がさらに重要になります。 Enterprise Service Bus (ESB) は、さまざまなシステムとアプリケーションを接続して共通のデータ交換サービスとメッセージ ルーティング サービスを提供し、エンタープライズ レベルのアプリケーション統合を実現する統合アーキテクチャ モデルです。 SpringBootとApacheServiceMixを使えば簡単にESBシステムを構築できるので、その実装方法を紹介します。 SpringBoot と A

Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する Spring Boot と JavaFX を使用してデスクトップ アプリケーションを構築する Jun 22, 2023 am 10:55 AM

テクノロジーが進化し続けるにつれて、さまざまなテクノロジーを使用してデスクトップ アプリケーションを構築できるようになりました。 SpringBoot と JavaFX は、現在最も人気のある選択肢の 1 つです。この記事では、これら 2 つのフレームワークを使用して機能豊富なデスクトップ アプリケーションを構築する方法に焦点を当てます。 1. SpringBoot と JavaFX の概要SpringBoot は、Spring フレームワークに基づく高速開発フレームワークです。開発者が Web アプリケーションを迅速に構築できるようにするとともに、一連の機能を提供します。

Spring Boot は MySQL の読み取り/書き込み分離テクノロジを実装します Spring Boot は MySQL の読み取り/書き込み分離テクノロジを実装します Aug 15, 2023 pm 04:52 PM

読み取りと書き込みの分離を実現する方法、Spring Boot プロジェクト、データベースは MySQL、永続層は MyBatis を使用します。

See all articles