欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mybatis之@ResultMap,@Results,@Result注解的使用

 更新時(shí)間:2021年12月01日 16:19:21   作者:藍(lán)色Tu耳其  
這篇文章主要介紹了Mybatis之@ResultMap,@Results,@Result注解的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Mybatis注解@Results、@Result、@ResultMap

問題

在使用mybatis時(shí)發(fā)現(xiàn),mybatis能自動(dòng)匹配實(shí)體名和數(shù)據(jù)庫字段名相同的字段。當(dāng)有實(shí)體名與數(shù)據(jù)庫的字段名不同時(shí)該如何解決??

數(shù)據(jù)庫的表對(duì)應(yīng)的列名:

在這里插入圖片描述

springboot項(xiàng)目中建的實(shí)體類為:

public class MapModel {
    private Long key;
    private String value;
    
    //省略getter、setter方法
    }

方法一

給查詢字段另起名對(duì)應(yīng)實(shí)體類的名稱:

@Select("SELECT province_id as key , province_name as value FROM `j_position`")
public List<MapModel> provinceName();

方法二

使用@Results、@Result、@ResultMap注解:

@Select("SELECT province_id, province_name FROM `j_position`")
    @Results(id="resultMap1" ,value = {
            @Result(property = "key",column = "province_id"),
            @Result(property = "value",column ="province_name")
    })
public List<MapModel> provinceName();

其中定義的id="resultMap1"可以使用

@ResultMap("resultMap1)
@Select("SELECT province_id, province_name FROM `j_position` where province_name=#{name}")
public List<MapModel> provinceName(String name);

推薦使用方法二!

mybatis注釋使用

resultMap對(duì)應(yīng)的注釋,及對(duì)應(yīng)注解Results、Result、One、Many的使用

有一部分建立在我上一個(gè)博客,mybatis注釋使用(單表查詢),如果那里看不懂了,建議看下我上一個(gè)博客(里面所有的配置文件,接口,數(shù)據(jù)庫的創(chuàng)建都有說明)

<resultMap>對(duì)應(yīng)的注解:

1.@Results注解

代替的是標(biāo)簽<resultMap >

該注解中可以使用單個(gè)@Result注解,也可以使用@Result集合

@Results({@Result(),@Result()})或@Results(@Result())

注意:使用注解是若報(bào)出org.apache.ibatis.binding.BindingException:Invalid bound statement (not found):接口全類名.方法名

可能是使用@Results注解時(shí)忘記使用@Select注解

2.@Resutl注解

代替了 <id>標(biāo)簽和<result>標(biāo)簽

@Result 中 屬性介紹:

  • column 數(shù)據(jù)庫的列名
  • Property需要裝配的屬性名
  • one 需要使用的@One注解(@Result(one=@One)()))
  • many 需要使用的@Many注解(@Result(many=@many)()))

3.@One注解(一對(duì)一)

代替了<assocation>標(biāo)簽,是多表查詢的關(guān)鍵,在注解中用來指定子查詢返回單一對(duì)象。

@One注解屬性介紹:

  • select 指定用來多表查詢的sqlmapper
  • fetchType會(huì)覆蓋全局的配置參數(shù)lazyLoadingEnabled。。

使用格式:

@Result(column=" ",property="",one=@One(select=""))

4.@Many注解(多對(duì)一)

代替了<Collection>標(biāo)簽,是是多表查詢的關(guān)鍵,在注解中用來指定子查詢返回對(duì)象集合。

注意:聚集元素用來處理“一對(duì)多”的關(guān)系。需要指定映射的Java實(shí)體類的屬性,屬性的javaType(一般為ArrayList)但是注解中可以不定義;

使用格式:

@Result(property="",column="",many=@Many(select=""))

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

相關(guān)文章

  • SpringBoot啟動(dòng)時(shí)自動(dòng)執(zhí)行代碼的幾種實(shí)現(xiàn)方式

    SpringBoot啟動(dòng)時(shí)自動(dòng)執(zhí)行代碼的幾種實(shí)現(xiàn)方式

    這篇文章主要給大家介紹了關(guān)于SpringBoot啟動(dòng)時(shí)自動(dòng)執(zhí)行代碼的幾種實(shí)現(xiàn)方式,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-02-02
  • java去除數(shù)組重復(fù)元素的四種方法

    java去除數(shù)組重復(fù)元素的四種方法

    本文給大家分享四種java去除數(shù)組重復(fù)元素的方法,每種方法通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-11-11
  • java 獲取request中的請(qǐng)求參數(shù)代碼詳解

    java 獲取request中的請(qǐng)求參數(shù)代碼詳解

    這篇文章主要介紹了java 獲取request中的請(qǐng)求參數(shù)的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-05-05
  • java設(shè)計(jì)模式責(zé)任鏈模式原理案例詳解

    java設(shè)計(jì)模式責(zé)任鏈模式原理案例詳解

    一個(gè)事件需要經(jīng)過多個(gè)對(duì)象處理是一個(gè)挺常見的場(chǎng)景,譬如采購審批流程,請(qǐng)假流程,軟件開發(fā)中的異常處理流程,web請(qǐng)求處理流程等各種各樣的流程,可以考慮使用責(zé)任鏈模式來實(shí)現(xiàn)
    2021-09-09
  • java 設(shè)計(jì)模型之單例模式詳解

    java 設(shè)計(jì)模型之單例模式詳解

    本文主要介紹了java 單例模式,單例對(duì)象(Singleton)是一種常用的設(shè)計(jì)模式。在Java應(yīng)用中,單例對(duì)象能保證在一個(gè)JVM中,該對(duì)象只有一個(gè)實(shí)例存在,希望能幫助有需要的同學(xué)
    2016-07-07
  • 使用curator實(shí)現(xiàn)zookeeper鎖服務(wù)的示例分享

    使用curator實(shí)現(xiàn)zookeeper鎖服務(wù)的示例分享

    這篇文章主要介紹了使用curator實(shí)現(xiàn)zookeeper鎖服務(wù)的示例,需要的朋友可以參考下
    2014-02-02
  • Spring創(chuàng)建bean的幾種方式及使用場(chǎng)景

    Spring創(chuàng)建bean的幾種方式及使用場(chǎng)景

    本文主要介紹了Spring創(chuàng)建bean的幾種方式及使用場(chǎng)景,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • Java基礎(chǔ)教程之List集合的常用方法

    Java基礎(chǔ)教程之List集合的常用方法

    這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)教程之List集合的常用方法,在Java編程中List集合是一種常用的數(shù)據(jù)結(jié)構(gòu),用于存儲(chǔ)一組元素,有時(shí)候我們需要對(duì)List集合中的元素進(jìn)行分組操作,即將相同屬性或特征的元素歸類到一組,需要的朋友可以參考下
    2023-10-10
  • java操作ftp下載文件示例

    java操作ftp下載文件示例

    這篇文章主要介紹了java操作ftp下載文件的示例,需要的朋友可以參考下
    2014-02-02
  • MyBatis延遲加載與立即加載案例教程

    MyBatis延遲加載與立即加載案例教程

    這篇文章主要介紹了MyBatis延遲加載與立即加載案例教程,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07

最新評(píng)論