MySQL 1対多関連クエリのページングエラー問題の解決方法

MySQL 1対多関連クエリのページングエラー問題の解決方法

XML価格照会のクエリデータにはリストが含まれているため、コレクションが必要です

<結果マップ id="XX" タイプ="com.XXX.XXXX">
    <id 列="o_id" jdbcType="BIGINT" プロパティ="id" />
    <結果列="o_user_id" jdbcType="BIGINT" プロパティ="userId" />
    ....
    <コレクションプロパティ="orderProductList" ofType="com.XXXXXX.XXXXX">
      <id 列="p_id" jdbcType="BIGINT" プロパティ="id" />
      <結果列="p_order_id" jdbcType="BIGINT" プロパティ="orderId" />
      ....
    </コレクション>
  </結果マップ>

このようなクエリ システムによってカプセル化された一般的なページング クエリは正しくないため、解決するには独自の SQL にページングを追加する必要があります。

<select id="XXX" resultMap="オーダーリストマップ">
    選択
    あなた.ニックネーム、
    yo.id o_id、
    yo.ユーザーID o_ユーザーID
    から
    (
    *から選択
    注文する
    どこ
    1 = 1
    <if テスト="ステータス != null">
      そして `status` = #{status}
    </if>
    <if test="page != null かつ limit != null">
    制限 #{ページ}、
    #{制限}
    </if>
    )
    左結合 XXX yop ON yo.id = yop.order_id
    LEFT JOIN XXXX あなた ON yo.user_id = you.id
  </選択>

パラメータを渡すときは計算が必要

(offset - 1) * limit, limit

要約する

上記は、編集者が紹介したMySQLの1対多関連クエリのページングエラー問題の解決策です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQL 百万レベルのデータページングクエリ最適化ソリューション
  • 数千万のデータを扱うMySQLのページングクエリのパフォーマンスを最適化する
  • MySQL、Oracle、SQL Server のページングクエリ例の分析
  • MySQL の制限使用法とページングクエリステートメントのパフォーマンス分析の詳細な説明
  • Mysql 制限ページングクエリ最適化の詳細な説明
  • Oracle、MySQL、SqlServe のページング クエリ ステートメントの違いの概要
  • mysql、mssql、oracle のページング クエリ メソッドの詳細な説明
  • MySQL のページングクエリの 2 つのソリューションの比較
  • 3 つのデータベース (Oracle、MySQL、SqlServer) のページング クエリの例
  • MySQL における SQL ページングクエリのいくつかの実装方法と利点と欠点

<<:  VueとFlask間の通信の実装

>>:  Nginx と GeoIP モジュールを使用して IP の地域情報を読み取る方法

推薦する

面接官がmysqlのcharとvarcharの違いを尋ねたとき

目次charとvarcharの違いcharとvarcharの違い上記は、MySQL における cha...

JS 配列の重複を排除する 9 つの高度な方法 (実証済みで効果的)

序文一般的な方法はここには記載されていませんが、等しいかどうかを判断するための二重ループや、比較のた...

FirefoxのWeb開発者を使用してWebページのスタイルを無効にする方法

前提条件: Web開発者プラグインがインストールされている操作手順: [ツール] -> [We...

JavaScript オブジェクトからプリミティブ値への変換の詳細な説明

目次オブジェクトプロトタイプの値()オブジェクトプロトタイプtoString()シンボル.toPri...

初心者向けWebサイト構築ガイド⑥:FlashFXPの詳しい使い方

今日は、サイトの設定やウェブサイトのアップロードなど、FlashFXP の最も基本的な機能を紹介しま...

Linux のスケジュールタスク Crontab コマンドの使用に関する詳細な説明と概要

crontab コマンドは、Unix および Linux で定期的な実行命令を設定するために使用され...

カルーセル効果を実現するためのネイティブJavaScript+CSS

この記事では、参考までに、カルーセル効果の具体的なコードをJavaScript+CSSを使用して実装...

州と市町村の連携を簡単に実現するJavaScript

この記事では、省と市の簡単な連携を実現するためのJavaScriptの具体的なコードを参考までに紹介...

セマンティック HTML タグの紹介

ここ数年、ウェブサイト開発では DIV+CSS が非常に人気があり、当時は大きな騒動を引き起こしまし...

MySQL で 1000 万件のレコードをすばやくクエリする方法

目次通常のページングクエリ最適化する方法大きなオフセット使用ID制限大量データ問題の最適化通常のペー...

ウェブページ上の写真プレビューナビゲーションを設計するためのヒント

<br />ナビゲーションとは、ウェブサイトの上部にあることが多いナビゲーション バーの...

光るテキストとちょっとしたJS特殊効果を実現するCSS

実装のアイデア: CSSでtext-shadowを使用してテキストの光る効果を実現します効果画像: ...

Vue+Bootstrapでシンプルな学生管理システムを実現

参考までに、vueとbootstrapを使って比較的シンプルな生徒管理システムを作りました。具体的な...

CSS3ダイヤモンドパズルはdivのみを回転し、背景画像は回転しない機能を実現します

需要背景プロジェクトはVueを使用して作成され、ビジネス要件にはパズル効果があります。デフォルトの背...

1 つの記事で MySQL のプリコンパイルを理解する

1. プリコンパイルの利点私たちは皆、プリコンパイル機能を備えた JDBC の PreparedSt...