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

Mybatis中resultMap的Colum和property屬性詳解

 更新時(shí)間:2022年01月10日 11:23:06   作者:愛吃小牛奶  
這篇文章主要介紹了Mybatis中resultMap的Colum和property屬性,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

resultMap的Colum和property屬性

1: resultMap標(biāo)簽

當(dāng)我們的數(shù)據(jù)庫字段與實(shí)體類的屬性不一致時(shí),就需要使用該標(biāo)簽進(jìn)行一一映射。

2:使用情況

2.1 簡單查詢

 <resultMap id="這個(gè)resultMap的id" type="對應(yīng)實(shí)體類的全限定類名">
         <id column="id" property="id"></id>
        <result column="username" property="name"></result>
        <result column="author" property="author"></result>
        <result column="number" property="number"></result>
       .............
       colum對應(yīng)數(shù)據(jù)庫的字段,property對應(yīng)實(shí)體類的屬性
    </resultMap>

他表示對數(shù)據(jù)按照什么樣的規(guī)則進(jìn)行一一映射,如:

  <!-- 根據(jù)編號查找書籍-->
    <select id="SelectbooksByNumber" parameterType="String"  resultMap="名字">
        select * from book where number=#{number};
    </select>

上面的查找結(jié)果按照你給的resultMap的對應(yīng)規(guī)則進(jìn)行映射。

2.2 一對一

需要注意的是你sql語句查出來的列名稱是別名,那你就要填別名,就不是你數(shù)據(jù)庫的列名稱了。

返回結(jié)果:User
User中含有Role屬性集合 一對多的關(guān)系
JavaType是用來指定pojo中屬性的類型

2.3 一對多

同樣和一對一 一樣需要注意列名稱。

返回結(jié)果:User
User中含有Role屬性集合 一對多的關(guān)系
JavaType是用來指定pojo中屬性的類型,
ofType指定的是 映射到list集合屬性中pojo的類型
其中Role屬性集合為List

pojo

public class User implements Serializable {
    private Integer id;
    private String username;
    private String password;
    private String salt;
    private Integer status; // 用戶狀態(tài) 0: 正常   1:禁用   2:鎖定

    //角色集合
    private List<Role> roles;

role表

在這里插入圖片描述

user表

在這里插入圖片描述

user與role的映射表

在這里插入圖片描述

resultMap對column和property的理解

首先,先看看這張圖,看能不能一下看明白:

select元素有很多屬性(這里說用的比較多的)

  • id:命名空間唯一標(biāo)識,可以被用來引用這條語句
  • parameterType:將會傳入這條語句的參數(shù)類的完全限定名或者別名
  • resultType:從這條語句要返回的期望類型的類的完全限定名或別名(這里注意下集合類型,應(yīng)該是集合可以包含的類型,不能是集合本身),重要:使用resultType或resultMap,但不能同時(shí)使用。
  • resultMap:命名引用外部的resultMap,其名稱要和外部的resultMap元素的ID名稱一致,用于映射其結(jié)果到實(shí)體類指定對象中。

什么時(shí)候我們知道使用resultMap,什么時(shí)候又使用resultType呢?

①當(dāng)去select一張表時(shí),可以使用resultType,這些情況下,MyBatis會在幕后自動創(chuàng)建一個(gè)ReusltMap,基于屬性名來映射到JavaBean屬性上

②所以在使用resultMap時(shí),就必須要寫上resultMap相對應(yīng)的xml

③為了方便我們開發(fā)出錯(cuò),在沒有特別要求的情況下,column名可以完全和property名稱一致,否則當(dāng)我們沒有對應(yīng)上的時(shí)候,數(shù)據(jù)庫匹配不到,會將某某參數(shù)值變?yōu)榇髮懀瑢?dǎo)致我們本來獲取小寫的參數(shù)名,結(jié)果沒有獲取到,后臺報(bào)錯(cuò),得不償失啊!

最后說下

sql中比如,有 andm.id = #{id ,jdbcType=VARCHAR } 要標(biāo)明jdbcType為什么呢?

解釋:

如果你映射了一個(gè)javabean,MyBatis通??梢詳喽愋停?xiàng)目里好多都要寫,我也不知道為啥),然而,如果你映射到的是比如:HashMap,那么應(yīng)該明確指定的jdbcType來保證所需的行為

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

相關(guān)文章

  • Java Clone(類的復(fù)制)實(shí)例代碼

    Java Clone(類的復(fù)制)實(shí)例代碼

    Java Clone(類的復(fù)制)實(shí)例代碼,需要的朋友可以參考一下
    2013-03-03
  • Spring?多數(shù)據(jù)源方法級別注解實(shí)現(xiàn)過程

    Spring?多數(shù)據(jù)源方法級別注解實(shí)現(xiàn)過程

    多數(shù)據(jù)源管理是Spring框架中非常重要的一部分,它可以提高應(yīng)用程序的靈活性和可靠性,從而更好地滿足業(yè)務(wù)需求,這篇文章主要介紹了Spring?多數(shù)據(jù)源方法級別注解實(shí)現(xiàn),需要的朋友可以參考下
    2023-07-07
  • java并發(fā)學(xué)習(xí)-CountDownLatch實(shí)現(xiàn)原理全面講解

    java并發(fā)學(xué)習(xí)-CountDownLatch實(shí)現(xiàn)原理全面講解

    這篇文章主要介紹了java并發(fā)學(xué)習(xí)-CountDownLatch實(shí)現(xiàn)原理全面講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • 簡單的java讀取文件示例分享

    簡單的java讀取文件示例分享

    這篇文章主要介紹了java讀取txt文件內(nèi)容,示例很簡單,代碼里有注釋,大家直接看代碼吧
    2014-01-01
  • mybatis輸入映射和輸出映射實(shí)例詳解

    mybatis輸入映射和輸出映射實(shí)例詳解

    這篇文章主要介紹了mybatis輸入映射和輸出映射,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Java實(shí)現(xiàn)Http請求的常用方法詳解

    Java實(shí)現(xiàn)Http請求的常用方法詳解

    在實(shí)際開發(fā)過程中,我們經(jīng)常需要調(diào)用對方提供的接口或測試自己寫的接口是否合適,本文為大家整理了Java調(diào)用第三方http接口幾種方式,需要的可以參考下
    2025-02-02
  • java中List對象排序通用方法

    java中List對象排序通用方法

    這篇文章主要介紹了java中List對象排序通用方法,涉及java針對List對象的操作技巧,需要的朋友可以參考下
    2015-05-05
  • 利用SpringBoot實(shí)現(xiàn)多數(shù)據(jù)源的兩種方式總結(jié)

    利用SpringBoot實(shí)現(xiàn)多數(shù)據(jù)源的兩種方式總結(jié)

    關(guān)于動態(tài)數(shù)據(jù)源的切換的方案有很多,核心只有兩種,一種是構(gòu)建多套環(huán)境,另一種是基于spring原生的AbstractRoutingDataSource切換,這篇文章主要給大家介紹了關(guān)于利用SpringBoot實(shí)現(xiàn)多數(shù)據(jù)源的兩種方式,需要的朋友可以參考下
    2021-10-10
  • profiles.active多環(huán)境開發(fā)、測試、部署過程

    profiles.active多環(huán)境開發(fā)、測試、部署過程

    這篇文章主要介紹了profiles.active多環(huán)境開發(fā)、測試、部署,主要講如何使用profiles.active這個(gè)變量,讓我們在開發(fā)過程快速切換環(huán)境配置,以及如何使一個(gè)部署適配各種不同的環(huán)境,需要的朋友可以參考下
    2023-03-03
  • Springboot在IDEA熱部署的配置方法

    Springboot在IDEA熱部署的配置方法

    這篇文章主要介紹了Springboot在IDEA熱部署的配置方法,給大家補(bǔ)充介紹了Intellij IDEA 4種配置熱部署的方法,需要的朋友可以參考下
    2018-04-04

最新評論

灵宝市| 凭祥市| 平远县| 芦山县| 兴化市| 内丘县| 沧州市| 改则县| 精河县| 江永县| 通海县| 祁阳县| 陆丰市| 琼结县| 诸城市| 监利县| 大关县| 乐亭县| 松阳县| 景泰县| 兴文县| 屯留县| 阳东县| 龙川县| 琼海市| 额敏县| 侯马市| 平泉县| 多伦县| 汉阴县| 武平县| 元氏县| 江门市| 阜新市| 个旧市| 察雅县| 新乡市| 武宣县| 淳安县| 龙游县| 渝中区|