MyBatis クエリ実行プロセスの内部動作解析:SimpleExecutor の doQuery() メソッド

ステートメントハンドラーのルーティングと生成 クエリ処理の起点である SimpleExecutor.doQuery() は、SQL の準備から実行結果のオブジェクト変換までを一貫して管理する。最初のフェーズでは、Configuration インスタンスを通じて適切な StatementHandler を構築する。この過程は RoutingStatementHandler によって中継され、MappedStatement に定義されたステートメント ...

7月29日 04:07 投稿

MyBatisで自己参照による階層データの取得

MyBatisを用いて、単一テーブル内の親子関係を持つ階層データ(自己参照)を効率的に取得する方法を解説します。例として、ニュースカテゴリのツリー構造(親カテゴリ → 子カテゴリ)を扱います。 テーブル構造は以下の通りです: CREATE TABLE newslabel ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100) NOT NULL, pid INT DEFAULT 0 COMMENT '親カテゴリI ...

7月27日 21:24 投稿

Spring BootとVue.jsを使用した学生インターンシップ・就職管理システム:WeChatミニプログラムによるBSモデル実装

システム概要 本システムは、WeChatミニプログラムをベースとした学生のインターンシップと就職管理を目的としたBS(Browser/Server)モデルのアプリケーションです。Spring Bootをバックエンドに、Vue.jsをフロントエンドに採用し、効率的なデータ管理とユーザーエクスペリエンスを実現しています。 技術スタック バックエンドフレームワーク:Spring Boot Spring Bootは ...

7月26日 02:09 投稿

SpringとMyBatisの統合設定と基本構成

SpringとMyBatisを統合することで、依存性注入やトランザクション管理といったSpringの強力な機能を活用しながら、データアクセス層を効率的に構築できます。 1. 必要なライブラリの追加 プロジェクトにmybatis-springおよび関連する依存を追加します。これにより、MyBatisのコンポーネントがSpringコンテナで管理可能になります。 2. MyBatis設定ファイル(任意) 従来 ...

7月26日 00:49 投稿

MapleBoot スキャフォールドにおける親子データ構造のコード生成手順

プロジェクト概要と技術スタック 本プロジェクトは、Spring Boot と Vue 3 をベースとした軽量な高速開発用フレームワークです。汎用的なバックエンドおよびフロントエンドテンプレートを提供し、システム管理機能の開発効率を向上させることを目的としています。継続的なアップデートにより、開発者の負担を軽減する機能を強化し続けています。 データベース設計の準備 ...

7月23日 23:02 投稿

MyBatisインターセプターを用いたデータ匿名化の実現

1. MyBatisインターセプターの概要 1.1 MyBatisインターセプターとは MyBatisインターセプターは、MyBatisがSQL文を実行する際にその処理を傍受し、変更または拡張するためのプラグイン機構です。この機構により、MyBatisの実行フローの様々なポイントにカスタムロジックを挿入し、ログ記録、SQLクエリの動的な変更、パフォーマンス最適化などの独自動作を実装できます。 ...

7月22日 16:24 投稿

SpringBootとVue.jsによるフィットネスジムの個人トレーナー予約システムの設計と実装

技術スタック バックエンドフレームワーク: SpringBoot Spring BootはTomcatやJettyなどのサーバーを内蔵しており、追加の設定なしで利用可能です。自動設定機能により、プロジェクトの依存関係に基づいてアプリケーション構成を簡素化します。Spring DataやSpring Securityなどのモジュールが統合されており、開発効率が向上します。 フロントエンドフレームワーク: Vue. ...

7月20日 01:42 投稿

MyBatisマッパーインターフェースからSQL実行までの処理フロー解析

前回の記事では、mapper.xml内のSQLタグに対応するMappedStatementがどのように初期化されるかを分析しました。また、Mapperインターフェースがどのようにロードされるかも既に解析しています。ここでの疑問は、これらがそれぞれConfigurationにロードされているとして、実際の使用時にMappedStatementとロードされたmapperインターフェースがどのように関連付けられるのか ...

7月17日 16:50 投稿

Vue.jsにおける非同期リクエストの連鎖とMyBatisでのパラメータマッピングエラーの解決方法

1. 非同期通信におけるパラメータ取得とリクエストの実行順序 フロントエンドの開発において、あるAPIから取得した値を別のリクエストのパスパラメータとして使用する場合、データの同期制御が不十分だと「パラメータが空」の状態でリクエストが送信されることがあります。 問題の状況 特定のユーザー情報を取得した後に、その情報を元に統計データを取得する処理において ...

7月17日 02:03 投稿

Spring Boot環境におけるEditor.md富テキストエディタの実装手順

機能確認と基本設定 富テキストエディタの動作確認後、要件を満たせば実装を進める。 リソースフォルダ:https://pan.baidu.com/s/16hJGPNOso6My7XwivZn_Zw 提取码:a7lt プロジェクト構成と依存関係 pom.xml設定 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> & ...

7月15日 23:04 投稿