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

Mybatis之collection標(biāo)簽中javaType和ofType屬性的區(qū)別說明

 更新時(shí)間:2023年12月27日 09:39:02   作者:ouc碼農(nóng)Lee  
這篇文章主要介紹了Mybatis之collection標(biāo)簽中javaType和ofType屬性的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

collection標(biāo)簽中的javaType和ofType屬性的區(qū)別

在使用mybatis時(shí),有時(shí)候需要在數(shù)據(jù)庫中進(jìn)行關(guān)聯(lián)查詢(left/right join)來根據(jù)某個(gè)字段獲取到另一個(gè)表的的一個(gè)List集合。

在配置resultMap時(shí),需要用到collection標(biāo)簽對(duì)這個(gè)LIst屬性進(jìn)行映射:

比如在部門表中有一個(gè)列表List存放這個(gè)表中的所有員工,javaBean如下:

public class Department {

	private Integer id;
	private String departmentName;
	private List<Employee> emps;
}

員工表如下:

public class Employee {

	private Integer id;
	private String lastName;
	private String email;
	private String gender;
}

用mybatis對(duì)這兩個(gè)表進(jìn)行關(guān)聯(lián)查詢查詢

<select id="getDeptByIdPlus" resultMap="MyDept">
		SELECT d.id did, d.dept_name dept_name,
			e.id eid, e.last_name last_name, e.email email,e.gender gender
		FROM department d
		LEFT JOIN employee e
		ON d.id = e.d_id
		WHERE d.id = 1
</select> 

由于是通過關(guān)聯(lián)查詢得到的這個(gè)List

所以此時(shí)需要用到resultMap標(biāo)簽對(duì)返回值的類型進(jìn)行自定義:

<resultMap type="bean.Department" id="MyDept">
		<id column="did" property="id"/>
		<result column="dept_name" property="departmentName"/>
		<!-- 
			collection定義關(guān)聯(lián)的集合類型的屬性的封裝規(guī)則:
			property="emps":指定這是哪個(gè)集合屬性,這里為那個(gè)集合屬性emps
			ofType:指定集合內(nèi)封裝的JavaBean類型(集合內(nèi)裝的什么),這里即為Employee類
		 -->
		<collection property="emps" ofType="bean.Employee">
			<!-- 定義集合中元素的封裝規(guī)則 -->
			<id column="eid" property="id"/>
			<result column="last_name" property="lastName"/>
			<result column="email" property="email"/>
			<result column="gender" property="gender"/>
		</collection>
</resultMap>

在這個(gè)resultMap 標(biāo)簽中,用collection這個(gè)子標(biāo)簽對(duì)這個(gè)List進(jìn)行映射。通過Alt+/可以發(fā)現(xiàn),collection標(biāo)簽中包含兩個(gè)關(guān)于javaBean的Type屬性分別是ofType和javaType。

其中ofType指定的這個(gè)List所存放的javaBean的類型,比如這里就是Employee類型。

而javaType指定的當(dāng)前這個(gè)配置的標(biāo)簽所對(duì)應(yīng)的屬性,比如我們這里的collection配置的是一個(gè)List,就可以配置成javaType=“java.util.ArrayList”(此處沒寫)。

總結(jié)

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

相關(guān)文章

  • java解決請(qǐng)求跨域的兩種方法

    java解決請(qǐng)求跨域的兩種方法

    這篇文章主要為大家詳細(xì)介紹了java解決請(qǐng)求跨域的兩種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:三角數(shù)字

    Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:三角數(shù)字

    這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實(shí)例:三角數(shù)字,本文直接給出實(shí)現(xiàn)代碼,代碼中包含詳細(xì)注釋,需要的朋友可以參考下
    2015-06-06
  • 深入剖析java中的集合框架

    深入剖析java中的集合框架

    下面小編就為大家?guī)硪黄钊肫饰鰆ava中的集合框架。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-05-05
  • Java數(shù)組的基本操作方法整理

    Java數(shù)組的基本操作方法整理

    這篇文章主要給大家介紹了關(guān)于Java中數(shù)組的定義和使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • rabbitmq中routingkey的作用說明

    rabbitmq中routingkey的作用說明

    這篇文章主要介紹了rabbitmq中routingkey的作用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Springmvc模式上傳和下載與enctype對(duì)比

    Springmvc模式上傳和下載與enctype對(duì)比

    這篇文章主要介紹了Springmvc模式上傳和下載與enctype對(duì)比,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-12-12
  • Java優(yōu)先隊(duì)列?priority?queue

    Java優(yōu)先隊(duì)列?priority?queue

    本文主要介紹了Java優(yōu)先隊(duì)列?priority?queue,優(yōu)先隊(duì)列是一種特殊的數(shù)據(jù)結(jié)構(gòu)隊(duì)列中每一個(gè)元素都被分配到一個(gè)優(yōu)先權(quán)值,出隊(duì)順序按照優(yōu)先權(quán)值來劃分。一般有兩種出隊(duì)順序高優(yōu)先權(quán)出隊(duì)或低優(yōu)先權(quán)出隊(duì),想了解具體內(nèi)容的小伙伴可以參考下文內(nèi)容,希望對(duì)你有所幫助
    2021-12-12
  • 詳解Spring框架---IOC裝配Bean

    詳解Spring框架---IOC裝配Bean

    本篇文章主要介紹了詳解Spring框架---IOC裝配Bean,提供了三種方式實(shí)例化Bean,具有一定的參考價(jià)值,有興趣的可以了解一下。
    2017-03-03
  • 詳談鎖和監(jiān)視器之間的區(qū)別_Java并發(fā)

    詳談鎖和監(jiān)視器之間的區(qū)別_Java并發(fā)

    下面小編就為大家?guī)硪黄斦勬i和監(jiān)視器之間的區(qū)別_Java并發(fā)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • 詳解JVM系列之對(duì)象的鎖狀態(tài)和同步

    詳解JVM系列之對(duì)象的鎖狀態(tài)和同步

    鎖和同步是java多線程編程中非常常見的使用場景。為了鎖定多線程共享的對(duì)象,Java需要提供一定的機(jī)制來實(shí)現(xiàn)共享對(duì)象的鎖定。當(dāng)?shù)诙€(gè)線程進(jìn)入同一個(gè)區(qū)域的時(shí)候,必須等待第一個(gè)線程解鎖該對(duì)象。JVM是怎么做到的呢?快來一起看看吧。
    2021-06-06

最新評(píng)論