最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

mybatis-puls中的resultMap數(shù)據(jù)映射

 更新時間:2021年08月31日 11:28:25   作者:小屁孩~~  
這篇文章主要介紹了mybatis-puls中的resultMap數(shù)據(jù)映射,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

mybatis-puls resultMap數(shù)據(jù)映射

resultType

resultType可以把查詢結(jié)果封裝到pojo類型中,但必須pojo類的屬性名和查詢到的數(shù)據(jù)庫表的字段名一致。

如果sql查詢到的字段與pojo的屬性名不一致,則需要使用resultMap將字段名和屬性名對應(yīng)起來,進(jìn)行手動配置封裝,將結(jié)果映射到pojo中!

resultMap

resultMap可以實現(xiàn)將查詢結(jié)果映射為復(fù)雜類型的pojo,比如在查詢結(jié)果映射對象中包括pojo和list實現(xiàn)一對一查詢和一對多查詢。

  • 數(shù)據(jù)庫字段:user_id,
  • 實體類字段:userId
  • 需要手動配置設(shè)置resultMap

Mapper中基本查詢語句

<!-- 查詢所有的訂單數(shù)據(jù) -->
    <!-- resultMap:填入配置的resultMap標(biāo)簽的id值 -->
    <select id="queryOrderAll" resultMap="orderResultMap">
        SELECT id, user_id,
        number,
        createtime, note FROM `order`
    </select>

resultMap中字段映射

<!-- resultMap最終還是要將結(jié)果映射到pojo上,type就是指定映射到哪一個pojo -->
    <!-- id:設(shè)置ResultMap的id -->
    <resultMap type="order" id="orderResultMap">
        <!-- 定義主鍵 ,非常重要。如果是多個字段,則定義多個id -->
        <!-- property:主鍵在pojo中的屬性名 -->
        <!-- column:主鍵在數(shù)據(jù)庫中的列名 -->
        <id property="id" column="id" />
 
        <!-- 定義普通屬性 -->
        <result property="userId" column="user_id" />
        <result property="number" column="number" />
        <result property="createtime" column="createtime" />
        <result property="note" column="note" />
    </resultMap>

Mybatis ResultMap結(jié)果集映射

當(dāng)我們的POJO中的字段與數(shù)據(jù)庫中的字段不一致時,在利用resultType進(jìn)行結(jié)果集映射時,不一致的字段將會被賦值為null,這時我們可以利用ResultMap映射進(jìn)行賦值

POJO

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private int id;
    private String name;
    private String password;
}

數(shù)據(jù)庫字段

在這里插入圖片描述

ResultType

<select id="getUserList" resultType="User">
    select * from user;
</select>

可以出數(shù)據(jù)庫中是pwd,而pojo中是password,這樣利用resultType是無法映射的,password查出來的結(jié)果為null

在這里插入圖片描述

ResultMap

<select id="getUserList" resultMap="UserMap">
    select * from user;
</select>
<resultMap id="UserMap" type="User">
    <result column="id" property="id"/>
    <result column="name" property="name"/>
    <result column="pwd" property="password"/>
</resultMap>

我們用resultMap替換resultType

UserMap與下面resultMap里的id屬性的值保持一致即可

type為返回值類型,這里我之所以是User是因為我起了別名,如果沒有起別名要寫出完整的路徑

在resultMap中,column代表數(shù)據(jù)庫中的列,也就是數(shù)據(jù)庫里的字段,property為數(shù)據(jù)庫中的字段映射的結(jié)果,這里我們與pojo保持一致即可,數(shù)據(jù)庫中的pwd被映射為password,pojo里的password也就能賦值成功了

在這里插入圖片描述

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis-Plus實現(xiàn)自定義SQL具體方法

    Mybatis-Plus實現(xiàn)自定義SQL具體方法

    Mybatis-Plus是Mybatis的一個增強(qiáng)工具,它可以優(yōu)化我們的開發(fā)效率,這篇文章主要介紹了Mybatis-Plus實現(xiàn)自定義SQL,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-08-08
  • 解決springboot 獲取form-data里的file文件的問題

    解決springboot 獲取form-data里的file文件的問題

    這篇文章主要介紹了解決springboot 獲取form-data里的file文件的問題的相關(guān)資料,這里提供了詳細(xì)的解決步驟,需要的朋友可以參考下
    2017-07-07
  • Java多線程4種拒絕策略小結(jié)

    Java多線程4種拒絕策略小結(jié)

    當(dāng)線程池中的任務(wù)隊列已滿且無法再接受新的任務(wù)時,就需要采取拒絕策略來處理這種情況,本文主要介紹了Java多線程拒絕策略,包含了四種常見的拒絕策略,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • Java設(shè)計模式之工廠方法和抽象工廠

    Java設(shè)計模式之工廠方法和抽象工廠

    本文詳細(xì)講解了Java設(shè)計模式之工廠方法和抽象工廠,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-09-09
  • 解讀Eureka的TimedSupervisorTask類(自動調(diào)節(jié)間隔的周期性任務(wù))

    解讀Eureka的TimedSupervisorTask類(自動調(diào)節(jié)間隔的周期性任務(wù))

    在Eureka客戶端中,盡管ScheduledExecutorService的schedule方法創(chuàng)建的是一次性任務(wù),但通過在任務(wù)執(zhí)行完畢后再次調(diào)用schedule方法實現(xiàn)了周期性執(zhí)行,這種設(shè)計既考慮到了任務(wù)超時導(dǎo)致的間隔時間調(diào)整,又通過CAS實現(xiàn)了多線程同步,展現(xiàn)了簡潔而巧妙的設(shè)計思想
    2024-11-11
  • Struts2單選按鈕詳解及枚舉類型的轉(zhuǎn)換代碼示例

    Struts2單選按鈕詳解及枚舉類型的轉(zhuǎn)換代碼示例

    這篇文章主要介紹了Struts2單選按鈕詳解及枚舉類型的轉(zhuǎn)換代碼示例,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-02-02
  • 詳解Java中的checked異常和unchecked異常區(qū)別

    詳解Java中的checked異常和unchecked異常區(qū)別

    這篇文章主要介紹了詳解Java中的checked異常和unchecked異常區(qū)別,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-02-02
  • Springboot中使用lombok的@Data注解方式

    Springboot中使用lombok的@Data注解方式

    這篇文章主要介紹了Springboot中使用lombok的@Data注解方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Java解析方法的調(diào)用關(guān)系示例詳解

    Java解析方法的調(diào)用關(guān)系示例詳解

    這篇文章主要介紹了Java解析方法的調(diào)用關(guān)系,方法在Java編程中用于封裝重復(fù)的代碼,提高代碼復(fù)用性,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10
  • 超簡潔java實現(xiàn)雙色球若干注隨機(jī)號碼生成(實例代碼)

    超簡潔java實現(xiàn)雙色球若干注隨機(jī)號碼生成(實例代碼)

    這篇文章主要介紹了超簡潔java實現(xiàn)雙色球若干注隨機(jī)號碼生成(實例代碼),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04

最新評論

开鲁县| 巴彦县| 芜湖市| 扎囊县| 山西省| 靖宇县| 梅河口市| 郯城县| 昌吉市| 墨玉县| 贵南县| 凌云县| 康马县| 全南县| 溧阳市| 汾阳市| 布拖县| 江永县| 江陵县| 贵州省| 博白县| 宁波市| 石河子市| 华亭县| 潼南县| 宾阳县| 乌拉特前旗| 辰溪县| 湘西| 益阳市| 方正县| 咸宁市| 运城市| 获嘉县| 黄大仙区| 尉氏县| 富川| 土默特左旗| 马公市| 东辽县| 原阳县|