精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

MyBatis之ResultMap的Association和Collection標簽詳解

數據庫 其他數據庫
我們希望每個數據庫都具備良好的第三范式或 BCNF 范式,可惜它們并不都是那樣。如果能有一種數據庫映射模式,完美適配所有的應用程序,那就太好了,但可惜也沒有。而 ResultMap 就是 MyBatis 對這個問題的答案。

一、前言

MyBatis 創建時的一個思想是:數據庫不可能永遠是你所想或所需的那個樣子。我們希望每個數據庫都具備良好的第三范式或 BCNF 范式,可惜它們并不都是那樣。如果能有一種數據庫映射模式,完美適配所有的應用程序,那就太好了,但可惜也沒有。而 ResultMap 就是 MyBatis 對這個問題的答案。

二、ResultMap 的屬性列表

屬性

描述

id

當前命名空間中的一個唯一標識,用于標識一個結果映射。

type

類的完全限定名, 或者一個類型別名(關于內置的類型別名,可以參考上面的表格)。

autoMapping

如果設置這個屬性,MyBatis 將會為本結果映射開啟或者關閉自動映射。這個屬性會覆蓋全局的屬性 autoMappingBehavior。默認值:未設置(unset)。

extends

可以繼承其他resultMap的一些寫好的屬性

三、resultMap標簽介紹

  • constructor - 用于在實例化類時,注入結果到構造方法中。
  • idArg - ID 參數;標記出作為 ID 的結果可以幫助提高整體性能。
  • arg - 將被注入到構造方法的一個普通結果。
  • id – 一個 ID 結果;標記出作為 ID 的結果可以幫助提高整體性能。
  • result – 注入到字段或 JavaBean 屬性的普通結果。
  • association – 一個復雜類型的關聯;許多結果將包裝成這種類型。
    嵌套結果映射 – 關聯可以是 resultMap 元素,或是對其它結果映射的引用。
  • collection – 一個復雜類型的集合。
    嵌套結果映射 – 集合可以是 resultMap 元素,或是對其它結果映射的引用。
  • discriminator – 使用結果值來決定使用哪個 resultMap。
  • case – 基于某些值的結果映射。
    嵌套結果映射 – case 也是一個結果映射,因此具有相同的結構和元素;或者引用其它的結果映射。

四、id & result標簽參數詳解

屬性

描述

property

映射到列結果的字段或屬性。如果 JavaBean 有這個名字的屬性(property),會先使用該屬性。否則 MyBatis 將會尋找給定名稱的字段(field)。無論是哪一種情形,你都可以使用常見的點式分隔形式進行復雜屬性導航。人話為:就是你的Java實體類

column

數據庫中的列名,或者是列的別名。一般情況下,這和傳遞給 resultSet.getString(columnName) 方法的參數一樣。

javaType

一個 Java 類的全限定名,或一個類型別名(關于內置的類型別名,可以參考上面的表格)。如果你映射到一個 JavaBean,MyBatis 通常可以推斷類型。然而,如果你映射到的是 HashMap,那么你應該明確地指定 javaType 來保證行為與期望的相一致。

jdbcType

JDBC 類型,所支持的 JDBC 類型參見這個表格之后的“支持的 JDBC 類型”。只需要在可能執行插入、更新和刪除的且允許空值的列上指定 JDBC 類型。這是 JDBC 的要求而非 MyBatis 的要求。如果你直接面向 JDBC 編程,你需要對可以為空值的列指定這個類型。

typeHandler

我們在前面討論過默認的類型處理器。使用這個屬性,你可以覆蓋默認的類型處理器。這個屬性值是一個類型處理器實現類的全限定名,或者是類型別名。

常用例子展示

<resultMap  id="UsersMap" type="com.wang.test.demo.entity.User">
<id property="id" column="id" jdbcType="INTEGER"/>
<result property="username" column="username" jdbcType="VARCHAR"/>
<result property="password" column="password" jdbcType="VARCHAR"/>
<result property="role" column="role" jdbcType="VARCHAR"/>
<result property="addTime" column="add_time" jdbcType="TIMESTAMP"/>
</resultMap>

五、association標簽常用參數詳解

屬性

描述

property

映射到列結果的字段或屬性。如果用來匹配的 JavaBean 存在給定名字的屬性,那么它將會被使用。否則 MyBatis 將會尋找給定名稱的字段。無論是哪一種情形,你都可以使用通常的點式分隔形式進行復雜屬性導航。人話為:你要一對一的實體類中的另一個實體類的名稱

javaType

一個 Java 類的完全限定名,或一個類型別名。 如果你映射到一個 JavaBean,MyBatis 通常可以推斷類型。然而,如果你映射到的是 HashMap,那么你應該明確地指定 javaType 來保證行為與期望的相一致。

例子演示

  • 實體類演示
@Data
//書籍
public class Book {
private String id;
private String name;
private String author;
private Double price;
private Integer del;
private Date publishdate;
private String info;
//把出版社對象當作屬性
private Publisher pub;//------重點在這里一本書對應一個出版社,這是一個出版社對象
}
@Data
//出版社
public class Publisher {
private String id;
private String name;
private String phone;
private String address;
}

xml演示

<resultMap id="rMap_book" type="com.wang.test.demo.entity.Book">
<!-- 主鍵 property為實體類屬性 column為數據庫字段 jdbcType為實體類對應的jdbc類型-->
<id property="id" column="b_id" jdbcType="VARCHAR"></id>
<!-- 普通屬性 property為實體類屬性 column為數據庫字段 jdbcType為實體類對應的jdbc類型-->
<result property="name" column="b_name" jdbcType="VARCHAR"></result>
<result property="author" column="author" jdbcType="VARCHAR"></result>
<result property="price" column="price" jdbcType="VARCHAR"></result>
<result property="del" column="del" jdbcType="NUMERIC"></result>
<result property="publisherid" column="publisher_id" jdbcType="VARCHAR"></result>
<result property="publishdate" column="publish_date" jdbcType="TIMESTAMP"></result>
<!--一對一映射association property 為實體類book中的屬性名字 javaType為實體類屬性的類型 -->
<association property="pub" javaType="com.wang.test.demo.entity.Publisher">
<id property="id" column="p_id" jdbcType="VARCHAR"></id>
<result property="name" column="name" jdbcType="VARCHAR"></result>
<result property="phone" column="phone" jdbcType="VARCHAR"></result>
<result property="address" column="address" jdbcType="VARCHAR"></result>
</association>
</resultMap>

六、collection標簽常用參數詳解

屬性

描述

property

映射到列結果的字段或屬性。如果用來匹配的 JavaBean 存在給定名字的屬性,那么它將會被使用。否則 MyBatis 將會尋找給定名稱的字段。無論是哪一種情形,你都可以使用通常的點式分隔形式進行復雜屬性導航。人話為:你要一對一的實體類中的另一個實體類的名稱

javaType

這里和一對一的表示不太一樣,這里一般是一對多的集合類型,如:list

ofType

指定的這個一對多的集合的所存放的實體類的類型

例子演示

實體類演示

@Data
//班級類
public class Class {

private String id;
private String name;
private List<Student> students;//----重點在這里,一個班級對應多個學生

}
@Data
public class Student {

private int id;
private String name;
private int age;
}

 xml演示

<resultMap id="rMap_class" type="com.wang.test.demo.entity.Class">
<id property="id" column="id" jdbcType="VARCHAR"></id>
<result property="name" column="name" jdbcType="VARCHAR"></result>
<!--一對多映射用這個 ofTyp是一對多的集合的所存放的實體類 javaType實體類的屬性類型-->
<collection property="students" ofType="com.wang.test.demo.entity.Student" javaType="list">
<id property="id" column="id" jdbcType="INTEGER"></id>
<result property="name" column="name" jdbcType="VARCHAR"></result>
<result property="age" column="age" jdbcType="INTEGER"></result>
</collection>
</resultMap>

七、jdbc Type與java Type對照表

JDBC Type

Java Type

CHAR

String

VARCHAR

String

LONGVARCHAR

String

NUMERIC

java.math.BigDecimal

DECIMAL

java.math.BigDecimal

BIT

boolean

BOOLEAN

boolean

TINYINT

byte

SMALLINT

short

INTEGER

INTEGER

BIGINT

long

REAL

float

FLOAT

double

DOUBLE

double

BINARY

byte[]

VARBINARY

byte[]

LONGVARBINARY

byte[]

DATE

java.sql.Date

TIME

java.sql.Time

TIMESTAMP

java.sql.Timestamp

CLOB

Clob

BLOB

Blob

ARRAY

Array

DISTINCT

mapping of underlying type

STRUCT

Struct

REF

Ref

DATALINK

java.net.URL

八、總結

這樣就對ResultMap具體參數進行詳細的解釋,還有對association和collection標簽的解釋和具體演示,希望能夠幫到你。

責任編輯:姜華 來源: 小王博客基地
相關推薦

2009-06-25 15:20:28

CollectionMap

2021-06-28 07:09:24

MybatisresultMapJava

2024-04-19 08:23:06

2009-07-15 11:43:13

<iterate>標簽

2010-08-24 10:01:05

DIV

2023-03-29 23:23:00

MyBatis參數框架

2023-09-27 09:18:35

2016-12-05 13:35:02

C語言數組指針

2011-03-02 11:28:28

vsftpd配置

2009-07-07 17:34:15

collectionJDK5.0

2012-03-19 16:27:05

JavaHibernate

2021-01-14 05:16:09

MyBatis動態代理

2020-12-18 08:03:00

插件MyBatis Executor

2023-06-09 08:16:09

GolangStruct Tag

2009-07-22 10:03:11

iBATIS Resu

2024-12-20 16:49:15

MyBatis開發代碼

2011-05-26 08:36:07

JDKJava

2023-03-13 07:35:44

MyBatis分庫分表

2009-07-16 13:50:31

ibatisResultMap

2013-10-31 13:37:07

CloudaAPI手冊
點贊
收藏

51CTO技術棧公眾號

欧美,日韩,国产在线| 91在线观看免费高清完整版在线观看| 性色av蜜臀av色欲av| 日韩色淫视频| 一二三四区精品视频| 久久影院理伦片| 国产精品自拍电影| 国产日韩欧美一区| 欧美精品在线播放| 婷婷色一区二区三区| 一区三区自拍| 欧美在线观看视频在线| 性一交一乱一伧国产女士spa| 免费在线看v| 国产精品自在欧美一区| 国产精品91视频| 国产精品日日夜夜| 五月激情综合| 在线日韩日本国产亚洲| 中文字幕免费高清视频| 外国成人毛片| 色噜噜偷拍精品综合在线| www.亚洲成人网| 毛片在线看网站| 久久亚洲欧美国产精品乐播| 成人9ⅰ免费影视网站| 在线观看中文字幕码| 亚洲激精日韩激精欧美精品| 麻豆成人在线看| 亚洲成人网在线播放| 加勒比色老久久爱综合网| 欧美放荡的少妇| 亚洲精品高清无码视频| 僵尸再翻生在线观看| 一区二区三区四区不卡视频| 日韩女优中文字幕| 久草视频在线看| 91亚洲精华国产精华精华液| 亚洲一区二区免费在线| 最新黄色网址在线观看| 日日噜噜夜夜狠狠视频欧美人 | 国产乱淫av麻豆国产免费| 国产精品伊人| 欧美日韩一二三| 色悠悠久久综合网| 日韩网站中文字幕| 在线亚洲一区观看| 黄色一级二级三级| 123成人网| 欧美视频一区二区在线观看| 精品少妇无遮挡毛片| 久久久一本精品| 在线免费观看一区| 在线观看免费黄网站| 国产经典一区| 欧美午夜精品一区| 激情五月俺来也| 亚洲精品aaa| 555www色欧美视频| 久久精品国产99久久99久久久| 日韩av懂色| 日韩一级免费一区| 国产女人18毛片水真多18| 国产乱人伦丫前精品视频| 亚洲第一区中文字幕| 精品国产av色一区二区深夜久久| 欧美一级二级三级视频| 亚洲毛片在线看| 欧美黄色高清视频| 久久综合99| 久久99久国产精品黄毛片入口| 久久久久久久久久久网 | 中文字幕一区二区在线观看| 在线观看精品视频| 亚洲wwwww| 高跟丝袜一区二区三区| 成年人在线观看视频免费| 国产精品蜜月aⅴ在线| 91麻豆精品国产91久久久久| 极品白嫩少妇无套内谢| 亚洲妇女av| 中文字幕最新精品| 免费一级片在线观看| 国产欧美在线| 国产精品视频永久免费播放| 国产特级黄色片| 成人夜色视频网站在线观看| 欧美日韩国产一二| 成人在线直播| 疯狂做受xxxx高潮欧美日本| 亚洲欧美日韩综合网| 日韩中文字幕一区二区高清99| 日韩成人xxxx| 中文字幕美女视频| 一区二区三区四区五区在线| 国产精品视频精品视频| 秋霞网一区二区| 国产人成亚洲第一网站在线播放 | 在线日韩视频| 国产精品久久久久久亚洲影视| 精品人妻一区二区三区浪潮在线| 久久在线观看免费| 欧美黑人在线观看| 丰满少妇一区| 精品视频在线导航| 欧美性猛交xxxxx少妇| 日韩高清在线不卡| 国产精品露出视频| 黄色免费在线观看网站| 日韩欧美亚洲一二三区| 日本55丰满熟妇厨房伦| 欧美三级美国一级| 午夜精品久久17c| 国产美女三级无套内谢| 久久久不卡网国产精品一区| japanese在线播放| 国产日本久久| 亚洲欧美成人网| 欧美福利视频一区二区| 国产乱码精品一区二区三区av | 国产精品视区| 鬼打鬼之黄金道士1992林正英| 9色在线视频网站| 欧美性极品xxxx娇小| 2025中文字幕| 亚洲字幕久久| 成人国产精品久久久久久亚洲| 九色视频网站在线观看| 精品国产老师黑色丝袜高跟鞋| 国产精品久久久久久久99| 日韩.com| 国产精品精品一区二区三区午夜版| 天天操天天操天天干| 一区二区三区中文字幕电影 | av资源免费观看| 成人亚洲精品久久久久软件| 四虎4hu永久免费入口| 日本久久一区| 久久久精品国产亚洲| 一级全黄裸体免费视频| 中文字幕精品一区二区精品绿巨人| 青青草原av在线播放| 亚州国产精品| 亲子乱一区二区三区电影| 日韩精品视频无播放器在线看| 亚洲观看高清完整版在线观看| 丰满人妻一区二区三区大胸 | 不卡的看片网站| 亚洲综合色成人| 国产精品50p| 国产精品极品国产中出| 欧美黑人又粗大| 性生活视频软件| 亚洲一区二区三区视频在线播放 | 91p九色成人| 中文字幕国产精品| 亚洲视频在线免费播放| 国产精品人妖ts系列视频| 中文久久久久久| 国产精品成久久久久| 亚洲999一在线观看www| 丁香花在线电影| 亚洲黄色av女优在线观看 | 免费网站成人| 7777精品伊人久久久大香线蕉| 三级av在线免费观看| 国产精品77777竹菊影视小说| www.日本少妇| 国产永久精品大片wwwapp| 国产精品女主播| 成a人片在线观看| 精品sm捆绑视频| 黄色片中文字幕| 国产精品毛片久久久久久久| 午夜免费一级片| 日韩午夜电影| 亚洲视频在线二区| 综合激情网...| 日本三级韩国三级久久| 国产区在线观看| 亚洲第一区中文99精品| 午夜精品一区二| 亚洲人成网站精品片在线观看| 亚洲av成人精品一区二区三区 | 日韩av片免费在线观看| 日本中文字幕在线观看| 欧美xxxx在线观看| 波多野结衣mp4| 亚洲欧美一区二区久久| 中国极品少妇videossexhd| 日韩av一区二区三区| 草草草视频在线观看| 免费看av成人| 亚洲精品欧美日韩| 日韩在线短视频| 欧美成aaa人片免费看| 色综合成人av| 日韩欧美国产综合| 日韩xxx视频| 天天免费综合色| 2018天天弄| 国产欧美一区在线| 日本一级片在线播放| 久久福利视频一区二区| 国产黄色一级网站| 欧美精品入口| 亚洲欧美电影在线观看| 欧美三级午夜理伦三级小说| 成人免费网站在线| 日韩国产网站| 91tv亚洲精品香蕉国产一区7ujn| 欧美性天天影视| 国产亚洲人成网站在线观看| 欧美77777| 日韩午夜在线播放| 最新国产中文字幕| 91福利精品视频| 国内免费精品视频| 亚洲第一福利一区| 草视频在线观看| 中文字幕亚洲一区二区av在线| asian性开放少妇pics| 国产成人av福利| 亚洲第一色av| 蜜桃精品视频在线| 久久午夜夜伦鲁鲁一区二区| 免播放器亚洲| 久色视频在线播放| 亚洲精选91| www.在线观看av| 欧美精品成人| 激情成人开心网| 欧美一区二区三区另类| 国产精品jizz在线观看老狼| 精品国精品国产自在久国产应用| 鲁丝一区二区三区免费| 欧美18xxxx| 久久久亚洲综合网站| 玖玖玖免费嫩草在线影院一区| 成人在线看片| 91九色鹿精品国产综合久久香蕉| 91久久久一线二线三线品牌| 国产高清视频一区二区| 91九色国产视频| 日韩精品视频中文字幕| 97超碰人人看人人| 99久久婷婷国产综合精品青牛牛| 91超碰rencao97精品| 亚洲一区二区三区免费| 99免费在线观看视频| 懂色av一区二区| 精品久久久久久乱码天堂| 女一区二区三区| 欧美日韩综合久久| 欧美在线电影| 国产树林野战在线播放| 欧美精品自拍| 免费国产a级片| 日韩经典中文字幕一区| 成人免费在线观看视频网站| 精品一区二区三区视频| 日韩欧美中文在线视频| 成人h动漫精品| 成年人在线观看av| 国产日韩欧美精品在线| 美国一级片在线观看| 亚洲精品国产品国语在线app| 国产精品7777| 色婷婷综合在线| ,一级淫片a看免费| 精品国产网站在线观看| 欧美日韩免费做爰大片| 中文字幕亚洲一区二区三区五十路 | 亚洲天堂视频网站| 欧美午夜一区二区三区免费大片| 一级片视频播放| 日本精品视频| 日韩在线观看免费全集电视剧网站| 在线观看黄av| 欧美精品videosex牲欧美| 无码小电影在线观看网站免费| 国产精品极品尤物在线观看 | 国内精品国语自产拍在线观看| 蜜桃一区二区三区| 吴梦梦av在线| 宅男噜噜噜66一区二区| 一区二区成人网| 国产成人av一区| 在线看片中文字幕| 亚洲综合免费观看高清完整版在线 | 日本在线视频www鲁啊鲁| 欧美一区二区三区…… | 欧美二级三级| 91精品一区国产高清在线gif| 男女视频网站在线观看| 久久国产精品露脸对白| 国产毛片毛片毛片毛片毛片毛片| 国产精品久久久久久久岛一牛影视| 国产精品7777| 在线播放一区二区三区| 天堂av网在线| 色综合导航网站| 精品久久在线| 蜜桃传媒视频第一区入口在线看| 国产精品88久久久久久| 欧美日韩一区二区在线免费观看| 国产精品99久久久| 久久视频一区二区三区| 岛国av一区二区三区| 99久久精品国产一区色| 国产亚洲一区二区精品| sm久久捆绑调教精品一区| 91亚洲国产精品| 清纯唯美日韩| 欧美视频免费播放| www.亚洲国产| 久久机热这里只有精品| 7777精品伊人久久久大香线蕉| 成人免费在线电影| 欧美综合在线第二页| 国产福利一区二区精品秒拍| 欧美aaa在线观看| 蜜臀99久久精品久久久久久软件| 醉酒壮男gay强迫野外xx| 亚洲午夜在线观看视频在线| 国产乱人乱偷精品视频| 中国日韩欧美久久久久久久久| 2022成人影院| 久久riav| 亚洲视频成人| 日本免费福利视频| 天涯成人国产亚洲精品一区av| 高h放荡受浪受bl| 色综合视频一区中文字幕| crdy在线观看欧美| 中日韩在线视频| 激情国产一区二区| 无码人中文字幕| 欧美嫩在线观看| 网友自拍视频在线| 国产在线一区二区三区| 日韩中字在线| 伊人五月天婷婷| 亚洲男人的天堂av| 国内老熟妇对白xxxxhd| 美女福利视频一区| 中文无码日韩欧| 拔插拔插海外华人免费| 99久久精品国产网站| 国产精品一区二区6| 精品亚洲夜色av98在线观看| 在线能看的av网址| 少妇特黄a一区二区三区| 蜜臀国产一区二区三区在线播放 | 不卡中文字幕| 三级a三级三级三级a十八发禁止| 国产精品网友自拍| 国产免费一区二区三区免费视频| 大胆人体色综合| av男人一区| 黄色国产精品视频| 欧美国产精品专区| av免费观看在线| 91高清在线免费观看| 国内精品久久久久久久影视简单| 国产精品久久a| 亚洲欧美日韩人成在线播放| www国产在线| 5566日本婷婷色中文字幕97| 精品久久电影| 在线免费看污网站| 亚洲国产wwwccc36天堂| 免费a在线观看| 91日韩在线播放| 99国产精品久久久久久久成人热 | 国产精品国产三级国产专播精品人| 色欧美自拍视频| 色哟哟网站在线观看| 天天av天天翘天天综合网| 国产69久久| 91久久精品www人人做人人爽| 噜噜爱69成人精品| 久艹在线观看视频| 亚洲精品久久久久久久久久久久| 播放一区二区| 男人天堂av片| 国产精品视频线看| 日本人妻熟妇久久久久久| 国产成人综合亚洲| 欧美激情第10页| av电影网站在线观看| 日韩视频一区二区| 日韩三区免费| 男女视频网站在线观看| 在线激情网站| 亚洲最大的成人网| 久久久久国产精品午夜一区| 亚洲欧美精品aaaaaa片| 亚洲欧美日韩精品| 伊人久久影院|