十三、resultMap解析

分為兩部分:解析和使用

解析
1.解析XML的時候單獨解析所有的resultMap標簽,封裝成ResultMap對象存入configuration中
2.解析XML中的SQL語句,封裝MappedStatement對象,這里會根據SQL的返回類型是resultMap還是resultType做處理。如果是resultMap,就從configuration中取出ResultMap對象設置到MappedStatement中;如果是resultType,就將其封裝成一個ResultMap對象設置到MappedStatement中。

使用
1.執行完的結果集會被ResultSetWrapper包裝,有兩個屬性mappedColumnNamesMap和unMappedColumnNamesMap,其實就是如果執行的這個SQL如果是resultMap,mappedColumnNamesMap有值;如果是resultType,那么unMappedColumnNamesMap有值。
2.做結果集映射,如果是resultMap,執行的是DefaultResultSetHandler#applyPropertyMappings方法,根據resultMap的映射一個個設置值;
如果是resultType,執行的是DefaultResultSetHandler#applyAutomaticMappings方法,進行自動映射,這里metaObject.findProperty(propertyName, true);
使用駝峰要設置為true,否知會拿不到實體類的屬性

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/22972.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/22972.shtml
英文地址,請注明出處:http://en.pswp.cn/web/22972.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C語言 | Leetcode C語言題解之第133題克隆圖

題目: 題解: struct Node** visited; int* state; //數組存放結點狀態 0:結點未創建 1:僅創建結點 2:結點已創建并已填入所有內容void bfs(struct Node* s) {if (visited[s->val] && state[s->val] 2…

【嵌入式系統實踐】實驗三EXTI按鈕外部中斷控制LED燈參考代碼

此內容不屬于實驗內容,因自己手頭有一STM32F103,故驗證性的進行代碼實驗,按照老師課堂ppt進行了一下復現。 通過按鈕控制LED燈的亮滅(狀態取反)。 main.c代碼: #include "STM32F10X.h" #include "stdio.h"…

Open3D Guided濾波(Python版本)

文章目錄 一、簡介二、實現代碼三、實現效果參考資料一、簡介 Guided Filter原本主要用于2D圖像的降噪等處理,但經過適當的修改后,它可以有效地應用于3D點云的降噪。這種方法能夠保留點云中的細節信息,并且對邊緣和曲面進行保護。 其具體計算過程如下所述: 1.局部線性假設:…

Python Lambda函數的應用實例教程

在Python編程中,lambda函數是一種簡潔且強大的工具,用于創建小型匿名函數。它們在需要快速定義簡單函數時特別有用。本文將詳細介紹lambda函數的語法及其多種應用實例,幫助讀者更好地理解和使用lambda函數。 一、lambda函數的基本概念 1.1 什…

c++(內存分配,構造,析構)

#include <iostream>using namespace std; class Per { private:string name;int age;double *height;double *weigh; public://無參構造Per(){cout << "Per::無參構造" << endl;}//有參構造Per(string name,int age,double height,double weigh):…

Nginx 的 stream 模塊,配置轉發redis和mysql

Nginx 的 stream 模塊確實可以配置多個 upstream 塊&#xff0c;用于定義多個后端服務器組。然而&#xff0c;需要注意的是&#xff0c;每個 upstream 塊通常用于一種特定類型的服務&#xff0c;例如定義一組TCP服務器&#xff0c;可以是Redis服務器、MySQL服務器或其他任何TCP…

【TB作品】 51單片機8x8點陣顯示滾動漢字仿真

功能 題目5基于51單片機LED8x8點陣顯示 流水燈 直接滾動顯示HELLO 直接滾動顯示老師好 代碼 void main( void ) {/** 移位后&#xff0c;右邊的是第一個595&#xff0c;接收0X02&#xff0c;顯示出0X02* 移位后&#xff0c;左邊的是第2個595&#xff0c;接收0Xfe&#xff0c…

創建常規DLL的動態鏈接庫

本文僅供學習交流&#xff0c;嚴禁用于商業用途&#xff0c;如本文涉及侵權請及時聯系本人將于及時刪除 【例9.3】創建一個MFC 常規DLL的動態鏈接庫Areadll&#xff0c;在該動態鏈接庫中添加一個導出類CArea&#xff0c;通過該類獲取正方形和圓的面積。 (1) 使用“MFC動態鏈接…

HttpClient Overview(翻譯)

HttpClient Overview **原文鏈接&#xff1a;HttpClient Overview The Hyper-Text Transfer Protocol(HTTP) is perhaps the most significant protocol used on the Internet today.Web services,network-enabled appliances and the growth on of network computing contin…

Allegro器件角度傾斜如何回正?

Allegro器件角度傾斜,坐標含有小數點調整為45度整數倍的方法 Allegro器件角度傾斜回正的方法。 在用Allero進行PCB設計過程中,有時候由于誤操作;或者剛開始器件需要非45度整數倍的角度,后又需要調整為整數倍的角度。器件角度傾斜含有小數點調整為45度整數倍的方法。 1、如…

Python Word變量:深入探索與實際應用

Python Word變量&#xff1a;深入探索與實際應用 在Python編程中&#xff0c;處理文本數據是一項至關重要的任務。而Word變量&#xff0c;作為存儲和操作文本數據的核心元素&#xff0c;其使用和技巧對于提升編程效率和準確性具有不可忽視的作用。本文將從四個方面、五個方面、…

Arduino網頁服務器:如何將Arduino開發板用作Web服務器

大家好&#xff0c;我是咕嚕鐵蛋&#xff01;今天&#xff0c;我將和大家分享一個有趣且實用的項目——如何使用Arduino開發板搭建一個簡易的網頁服務器。通過這個項目&#xff0c;你可以將Arduino連接到互聯網&#xff0c;并通過網頁控制或查詢Arduino的狀態。 一、項目背景與…

vue實現pdf下載——html2canvas

html2canvas 官方文檔https://html2canvas.hertzen.com/getting-started html2canvas 的原理是通過遍歷DOM樹,將每一個HTML元素轉化為Canvas對象,并疊加到一起形成一張完整的圖片或者PDF文件。 1. 安裝插件 npm install html2canvas jspdf --save 2.使用&#xff08;頁面已經…

Stable Diffusion:多領域應用的創新引擎

一、引言 在當今數字化時代&#xff0c;人工智能技術的飛速發展為各個領域帶來了前所未有的機遇和挑戰。Stable Diffusion 作為一種先進的隨機過程模型&#xff0c;以其獨特的優勢和廣泛的應用潛力&#xff0c;成為了人工智能領域的研究熱點。本文將深入探討 Stable Diffusion…

git 的基本操作 Master and branch的版本合并 @ VS 1019

前言&#xff1a; 在VS 2019有git 的可視化管理,但&#xff0c;感覺微軟其實就是在git上包了一層。版本沖突后&#xff0c;還是要靠git 的命令行代碼搞。本文記錄了一次&#xff0c;branch和master的版本合并的過程。作為&#xff0c;后續的參考。 【注意&#xff0c;這個是一…

【二進制部署k8s-1.29.4】十三、metrics-server的安裝部署

文章目錄 簡介 一.metrics-server的安裝 簡介 本章節主要講解metrics-server的安裝&#xff0c;metrics-server主要是用于采集k8s中節點和pod的內存和cpu指標&#xff0c;在觀察幾點和pod的實時資源使用情況還是比較有用的&#xff0c;如果需要記錄歷史信息&#xff0c;建議采用…

運行編譯openjdk12-33

編譯環境 ubuntu20 Ubuntu里用戶可以自行選擇安裝GCC或CLang來進行編譯&#xff0c;但必須確保最低的版本為GCC 4.8或者CLang 3.2以上&#xff0c;官方推薦使用GCC 7.8或者CLang 9.1來完成編譯。 源碼 https://github.com/openjdk/jdk/tree/jdk-12%2B33 安裝gcc sudo apt…

人工智能的未來發展前景:機遇與挑戰

人工智能&#xff08;AI&#xff09;的發展在過去的幾十年里取得了突飛猛進的成就&#xff0c;已經成為推動全球科技創新的關鍵動力之一。隨著技術的不斷進步和應用的日益廣泛&#xff0c;AI的未來發展前景顯得更加廣闊&#xff0c;同時也面臨一系列新的機遇和挑戰。 技術革新…

使用neural_network_console訓練模型并導出.nnb文件應用于索尼spresense

一.創建數據集 首先你需要一個csv標記的數據集 然后我們使用neural_network_console將數據集進行處理 dataset->create dataset->image 用戶可以通過該界面選擇源目錄&#xff08;Source Dir&#xff09;&#xff0c;輸出目錄&#xff08;Output Dir&#xff09;&…

哈希表、HashMap\Map-1657. 確定兩個字符串是否接近

題目鏈接及描述 1657. 確定兩個字符串是否接近 - 力扣&#xff08;LeetCode&#xff09; 題目分析 今日看到這道題目&#xff0c;乍一看覺得非常熟悉&#xff0c;對于將一個字符串轉換為另一個字符串的題目之前做過一些。分析題目&#xff0c;題目中所述就是兩種操作&#xff…