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

Mybatis中實(shí)體類屬性與數(shù)據(jù)列表間映射方法介紹

 更新時(shí)間:2017年10月19日 09:33:48   作者:lmy86263  
這篇文章主要介紹了Mybatis中實(shí)體類屬性與數(shù)據(jù)列表間映射方法介紹,一共四中方法,供大家參考。

Mybatis不像Hibernate中那么自動(dòng)化,通過@Column注解或者直接使用實(shí)體類的屬性名作為數(shù)據(jù)列名,而是需要自己指定實(shí)體類屬性和

數(shù)據(jù)表中列名之間的映射關(guān)系,這一點(diǎn)讓用慣了Hibernate的人很不習(xí)慣,所幸經(jīng)過探索找到了建立映射關(guān)系的三種辦法,其中總也有比較 簡(jiǎn)單的。

首先先定義一個(gè)實(shí)體類,如下:

public class User implements Serializable {
  private Integer userId;
  private String userName;
  ......
}

1. 通過XML映射文件中的resultMap

這種方式是最常見的,類似如下:

<mapper namespace="data.UserMapper">
  <resultMap type="data.User" id="userResultMap">
    <!-- 用id屬性來(lái)映射主鍵字段 -->
    <id property="id" column="user_id"/>
    <!-- 用result屬性來(lái)映射非主鍵字段 -->
    <result property="userName" column="user_name"/>
  </resultMap>
</mapper>

通過里面的id標(biāo)簽和result標(biāo)簽來(lái)建立映射關(guān)系,由property和column分別指定實(shí)體類屬性和數(shù)據(jù)表的列名。

2. 通過注解@Results和@Result

這兩個(gè)注解是與XML文件中的標(biāo)簽相對(duì)應(yīng)的:

@Results對(duì)應(yīng)resultMap
@Result對(duì)應(yīng)result

這兩個(gè)注解是應(yīng)用在方法的級(jí)別上的,也就是在mapper方法上,如下:

@Select("select * from t_user where user_name = #{userName}")
@Results(
    @Result(property = "userId", column = "user_id"),
    @Result(property = "userName", column = "user_name")
)
User getUserByName(@Param("userName") String userName);

缺點(diǎn):

由于注解是針對(duì)方法的,對(duì)于Mapper中的每個(gè)操作數(shù)據(jù)庫(kù)的方法都必須有相同的注解完成映射關(guān)系的建立,導(dǎo)致很多的配置是重復(fù)的;

如果要避免配置重復(fù)的問題,可以采用在XML配置文件中配置這個(gè)resultMap,然后再@Result中通過id屬性引用這個(gè)resultMap,

但是這樣感覺很麻煩(由于使用了兩種配置方式),不如直接使用基于XML的resultMap配置方式;

3. 通過屬性配置完成映射

使用者最陌生的是通過配置屬性來(lái)完成映射,Mybatis給我們提供了一種映射方式,如果屬性的命名是遵從駝峰命名法的,數(shù)據(jù)列名遵從下劃線命名,

那么可以使用這種方式,類似如下:

userName對(duì)應(yīng)user_name;
userId對(duì)應(yīng)user_id;

配置代碼如下:

SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
Configuration configuration = new Configuration();
configuration.setMapUnderscoreToCamelCase(true);
sqlSessionFactoryBean.setConfiguration(configuration);

4. 通過使用在SQL語(yǔ)句中定義別名完成映射

這種方式最直接,直接在SQL語(yǔ)句中建立別名來(lái)完成映射,如下:

@Select("select user_name as userName, user_id as userId from t_user where user_name = #{userName}")
User getUserByName(@Param("userName") String userName);

總結(jié)

以上就是本文關(guān)于Mybatis中實(shí)體類屬性與數(shù)據(jù)列表間映射方法介紹的全部?jī)?nèi)容,希望對(duì)大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:Hibernate實(shí)現(xiàn)悲觀鎖和樂觀鎖代碼介紹、Hibernate核心思想與接口簡(jiǎn)介等。下面介紹本站幾款有趣的游戲,學(xué)習(xí)工作之余放松下心情也是很必要的。也希望大家多多支持腳本之家網(wǎng)站!

海濱消消樂app for android v1.13 安卓版

http://www.dbjr.com.cn/game/578587.html

一起來(lái)飛車app for android v1.5.1 安卓版

http://www.dbjr.com.cn/game/578688.html

相關(guān)文章

  • springboot 整合郵件發(fā)送功能

    springboot 整合郵件發(fā)送功能

    這篇文章主要介紹了springboot 整合郵件發(fā)送功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • java按豎線分割的實(shí)現(xiàn)

    java按豎線分割的實(shí)現(xiàn)

    在Java中,我們可以使用split()方法按豎線分割字符串,本文將介紹如何使用Java中的字符串分割方法來(lái)按豎線進(jìn)行分割,同時(shí)提供代碼示例來(lái)幫助讀者理解,感興趣的可以了解一下
    2024-01-01
  • idea 默認(rèn)路徑修改從C盤更改到D盤

    idea 默認(rèn)路徑修改從C盤更改到D盤

    本文主要介紹了idea 默認(rèn)路徑修改從C盤更改到D盤,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程

    這篇文章主要介紹了Java+Spring+MySql環(huán)境中安裝和配置MyBatis的教程,MyBatis一般被用來(lái)增強(qiáng)數(shù)據(jù)庫(kù)操作,文中對(duì)MyBatis的主配置文件有較為詳細(xì)的講解,需要的朋友可以參考下
    2016-04-04
  • Java常用的數(shù)據(jù)脫敏方法(手機(jī)、郵箱、身份證號(hào))

    Java常用的數(shù)據(jù)脫敏方法(手機(jī)、郵箱、身份證號(hào))

    這篇文章主要給大家介紹了關(guān)于Java常用的數(shù)據(jù)脫敏(手機(jī)、郵箱、身份證號(hào))的相關(guān)資料,信息脫敏對(duì)某些敏感信息通過脫敏規(guī)則進(jìn)行數(shù)據(jù)的變形,實(shí)現(xiàn)敏感隱私數(shù)據(jù)的可靠保護(hù),需要的朋友可以參考下
    2023-07-07
  • SpringMVC實(shí)現(xiàn)文件上傳下載功能

    SpringMVC實(shí)現(xiàn)文件上傳下載功能

    這篇文章主要為大家詳細(xì)介紹了springMVC實(shí)現(xiàn)文件上傳和下載的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 基于swagger測(cè)試List類型參數(shù)過程詳解

    基于swagger測(cè)試List類型參數(shù)過程詳解

    這篇文章主要介紹了基于swagger測(cè)試List類型參數(shù)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • SpringMVC使用RESTful接口案例

    SpringMVC使用RESTful接口案例

    RESTful是一種web軟件風(fēng)格,它不是標(biāo)準(zhǔn)也不是協(xié)議,它不一定要采用,只是一種風(fēng)格,它倡導(dǎo)的是一個(gè)資源定位(url)及資源操作的風(fēng)格,這篇文章主要介紹了SpringBoot使用RESTful接口
    2022-12-12
  • Java 根據(jù)貸款年限對(duì)應(yīng)利率計(jì)算功能實(shí)現(xiàn)解析

    Java 根據(jù)貸款年限對(duì)應(yīng)利率計(jì)算功能實(shí)現(xiàn)解析

    這篇文章主要介紹了Java 根據(jù)貸款年限對(duì)應(yīng)利率計(jì)算功能實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • IDEA使用學(xué)生郵箱無(wú)法注冊(cè)問題:JetBrains Account connection error: 拒絕連接

    IDEA使用學(xué)生郵箱無(wú)法注冊(cè)問題:JetBrains Account connection error: 拒絕連接

    這篇文章主要介紹了IDEA使用學(xué)生郵箱無(wú)法注冊(cè)問題:JetBrains Account connection error: 拒絕連接,文中通過圖文及示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論