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

mybatis中resultMap 標(biāo)簽的使用教程

 更新時(shí)間:2018年07月18日 11:54:30   作者:Mr_晉  
resultMap 標(biāo)簽用來(lái)描述如何從數(shù)據(jù)庫(kù)結(jié)果集中來(lái)加載對(duì)象,這篇文章重點(diǎn)給大家介紹mybatis中resultMap 標(biāo)簽的使用,感興趣的朋友一起看看吧

MyBatis是一個(gè)優(yōu)秀的持久層框架,它對(duì)jdbc的操作數(shù)據(jù)庫(kù)的過(guò)程進(jìn)行封裝,使開(kāi)發(fā)者只需要關(guān)注SQL本身,而不需要花費(fèi)精力去處理例如注冊(cè)驅(qū)動(dòng)、創(chuàng)建connection、創(chuàng)建statement、手動(dòng)設(shè)置參數(shù)、結(jié)果集檢索等jdbc繁雜的過(guò)程代碼。

MyBatis特點(diǎn):

1.開(kāi)源的優(yōu)秀持久層框架
2.SQL語(yǔ)句與代碼分離
3.面向配置的編程
4.良好支持復(fù)雜數(shù)據(jù)映射
5.動(dòng)態(tài)SQL

resultMap 標(biāo)簽:

用來(lái)描述如何從數(shù)據(jù)庫(kù)結(jié)果集中來(lái)加載對(duì)象

(敲黑板?。。┲鞴軘?shù)據(jù)庫(kù)的字段和實(shí)體類(lèi)屬性的匹配,真正的作用在于聯(lián)查

我們直接看案例:

這是我的數(shù)據(jù)庫(kù)(如下):

這是我的實(shí)體類(lèi)(如下):

這是修改后的實(shí)體類(lèi)(如下):

這是我的 Mapper(如下):

上一次有說(shuō)我的方法是如何寫(xiě)的,這里我就不再詳細(xì)說(shuō)明了,直接展示結(jié)果,這是修改前的(如下):

這是修改后的(如下):

如此便說(shuō)明了:

當(dāng)我們的實(shí)體類(lèi)的名字寫(xiě)錯(cuò)了,或者因其他需求更改時(shí),那么我們到最后查出來(lái)的數(shù)據(jù)錯(cuò)的那一行是沒(méi)有值的,因?yàn)榉瓷湔业臅r(shí)候是根據(jù)名字來(lái)找的,而錯(cuò)誤的名字是找不到的,但是 resultMap 是可以做到的。

那怎么用那?

只要 Mapper 改一下即可:

我們?cè)偃ゲ橐槐椋?/p>

這就出來(lái)了。。。

至于聯(lián)查我們先說(shuō)一對(duì)一:

我們先在 entity 下再創(chuàng)建一個(gè)實(shí)體類(lèi),列如我的(如下,小編瞎寫(xiě)找了一個(gè)電影類(lèi)型的表):

這是數(shù)據(jù)庫(kù)的數(shù)據(jù):

 Branch 也要加一個(gè) movietype 的對(duì)象

我們的Mapper也要改一下: 

這樣一條list集合里面就會(huì)攜帶movieType對(duì)象,我們到方法里執(zhí)行一下就可以到控制臺(tái)得到結(jié)果了(如下):

完整的結(jié)果如下:

完畢
[Branch [branchid=1, name123=財(cái)務(wù), movieType=MovieType [typeid=4, typename=驚悚片, branid=1]], Branch [branchid=2, name123=人力, movieType=MovieType [typeid=2, typename=喜劇片, branid=2]], Branch [branchid=3, name123=銷(xiāo)售, movieType=MovieType [typeid=3, typename=愛(ài)情片, branid=3]]]

一對(duì)一說(shuō)完了就再來(lái)個(gè)一對(duì)多:

先是數(shù)據(jù)庫(kù)有這張表(員工表 t_staff)

然后是來(lái)個(gè)實(shí)體類(lèi):

當(dāng)然了 Branch 的實(shí)體類(lèi)也要加一個(gè) Staff 的set集合,用set集合的目的是為了防止重復(fù):

然后在Mapper里面也要加一個(gè)新的標(biāo)簽 <collection> (如下):

完整的輸出結(jié)果如下:

完畢

[Branch [branchid=1, name123=財(cái)務(wù), movieType=MovieType [typeid=4, typename=驚悚片, branid=1], staffSet=[Staff [staffid=1, staffname=小米, branid=1], Staff [staffid=2, staffname=小明, branid=1]]], Branch [branchid=2, name123=人力, movieType=MovieType [typeid=2, typename=喜劇片, branid=2], staffSet=[Staff [staffid=3, staffname=小曼, branid=2]]], Branch [branchid=3, name123=銷(xiāo)售, movieType=MovieType [typeid=3, typename=愛(ài)情片, branid=3], staffSet=[Staff [staffid=4, staffname=小影, branid=3]]]]

總結(jié)

以上所述是小編給大家介紹的mybatis中resultMap 標(biāo)簽的使用,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Java struts2請(qǐng)求源碼分析案例詳解

    Java struts2請(qǐng)求源碼分析案例詳解

    這篇文章主要介紹了Java struts2請(qǐng)求源碼分析案例詳解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java對(duì)象初始化順序驗(yàn)證示例

    java對(duì)象初始化順序驗(yàn)證示例

    以下這段小程序?qū)φ{(diào)用對(duì)象構(gòu)造函數(shù)時(shí),父類(lèi)構(gòu)造函數(shù)、成員變量初始化函數(shù),以及非靜態(tài)初始化塊調(diào)用順序進(jìn)行驗(yàn)證,不考慮靜態(tài)成員及靜態(tài)初始化塊
    2014-02-02
  • java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解

    java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解

    這篇文章主要為大家介紹了java?11新特性HttpClient主要組件及發(fā)送請(qǐng)求示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • SpringBoot AOP控制Redis自動(dòng)緩存和更新的示例

    SpringBoot AOP控制Redis自動(dòng)緩存和更新的示例

    今天小編就為大家分享一篇關(guān)于SpringBoot AOP控制Redis自動(dòng)緩存和更新的示例,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-01-01
  • Java?Calendar類(lèi)使用之日期和時(shí)間處理指南

    Java?Calendar類(lèi)使用之日期和時(shí)間處理指南

    這篇文章主要給大家介紹了關(guān)于Java?Calendar類(lèi)使用之日期和時(shí)間處理指南的相關(guān)資料,Calendar類(lèi)是Java中用于處理日期和時(shí)間的抽象類(lèi),它提供了一種獨(dú)立于特定日歷系統(tǒng)的方式來(lái)處理日期和時(shí)間,需要的朋友可以參考下
    2023-12-12
  • Java泛型的使用限制實(shí)例分析

    Java泛型的使用限制實(shí)例分析

    這篇文章主要介紹了Java泛型的使用限制,結(jié)合實(shí)例形式分析了不能使用java泛型的情況以及泛型使用的相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Spring3.1.1+MyBatis3.1.1的增、刪、查、改以及分頁(yè)和事務(wù)管理

    Spring3.1.1+MyBatis3.1.1的增、刪、查、改以及分頁(yè)和事務(wù)管理

    這篇文章主要介紹了Spring3.1.1+MyBatis3.1.1的增、刪、查、改以及分頁(yè)和事務(wù)管理的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • Java中的三種代理模式詳解

    Java中的三種代理模式詳解

    這篇文章主要介紹了Java中的三種代理模式詳解,代理模式的關(guān)鍵點(diǎn)是:代理對(duì)象與目標(biāo)對(duì)象.代理對(duì)象是對(duì)目標(biāo)對(duì)象的擴(kuò)展,并會(huì)調(diào)用目標(biāo)對(duì)象,文中提供了部分代碼,需要的朋友可以參考下
    2023-08-08
  • Java IO流之字符緩沖流實(shí)例詳解

    Java IO流之字符緩沖流實(shí)例詳解

    這篇文章主要介紹了Java IO流之字符緩沖流,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Spring Boot異常處理靜止trace

    Spring Boot異常處理靜止trace

    這篇文章主要介紹了Spring Boot異常處理靜止trace,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論

灵台县| 鄯善县| 壤塘县| 牡丹江市| 东乌珠穆沁旗| 禹州市| 瑞丽市| 龙海市| 青海省| 喀喇沁旗| 新兴县| 南丹县| 当阳市| 沈丘县| 永新县| 清新县| 威海市| 铜山县| 天镇县| 遵义县| 邵阳县| 溧水县| 黄大仙区| 苏尼特左旗| 蓝山县| 保德县| 沐川县| 葫芦岛市| 全椒县| 陈巴尔虎旗| 天峨县| 锡林浩特市| 汉阴县| 公安县| 嘉峪关市| 南昌县| 天气| 错那县| 德保县| 八宿县| 咸宁市|