Spring Boot と MyBatis Plus に基づいて ORM マッピングを実装する
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 インターフェイスを定義します。
- エンティティ クラスの定義
@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 はパラメーターの生成に使用されます。無料で完全なパラメータ コンストラクター。
- Mapper インターフェイスの定義
public interface UserMapper extends BaseMapper<User> { }
MyBatis Plus が提供する BaseMapper をここで使用します。これにより、多くの面倒な SQL 操作を節約できます。
3. データベース操作に MyBatis Plus を使用する
Mapper インターフェイスを定義した後、データベース操作に MyBatis Plus を使用できます。
- データの挿入
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 は、エンティティ クラスの属性を自動的にマッピングします。データベースの対応する列。
- クエリ データ
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 を使用します。
- データの更新
User user = userMapper.selectById(id); user.setAge(30); int count = userMapper.updateById(user);
データを更新するときは、まず selectById を使用して更新が必要なデータをクエリし、次に更新が必要な属性を変更します。 updateById を使用して、変更されたデータがデータベースに更新されます。
- データの削除
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 サイトの他の関連記事を参照してください。

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

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

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

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

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


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

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