亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

java中map與實(shí)體類(lèi)的相互轉(zhuǎn)換操作

 更新時(shí)間:2021年07月09日 09:13:08   作者:宅男大咖  
這篇文章主要介紹了java中map與實(shí)體類(lèi)的相互轉(zhuǎn)換操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java中map與實(shí)體類(lèi)的相互轉(zhuǎn)換

1. 在 pom.xml 中引入依賴(lài)包

<dependency>
   <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.54</version>
</dependency>

2. 在控制類(lèi)中引入

import com.alibaba.fastjson.JSON;

3. 類(lèi)型轉(zhuǎn)換

JSON.parseObject(JSON.toJSONString(源數(shù)據(jù)), 轉(zhuǎn)換后數(shù)據(jù)類(lèi)型.class);
// 將 Map 轉(zhuǎn)換為 實(shí)體類(lèi)
User user = JSON.parseObject(JSON.toJSONString(user01), User.class);
System.out.println(user);
// 將 實(shí)體類(lèi) 轉(zhuǎn)換為 Map
Map map = JSON.parseObject(JSON.toJSONString(user), Map.class);
System.out.println(map);

4. 轉(zhuǎn)換成功

將map轉(zhuǎn)換為實(shí)體類(lèi)的兩種方法

今天寫(xiě)項(xiàng)目時(shí)需要把map中的值寫(xiě)到對(duì)應(yīng)的實(shí)體類(lèi)中去,以前在遇到同樣的問(wèn)題時(shí)因?yàn)樾枰臄?shù)據(jù)只要那么幾個(gè)字段,所以通過(guò)get和set的方式感覺(jué)還行不是特別麻煩,而這次需要幾乎所有字段,一共有十幾個(gè),如果還是才采用這用方式實(shí)在太麻煩。

查閱資料后發(fā)現(xiàn)了兩個(gè)不錯(cuò)的方法

方法一

<dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>fastjson</artifactId>
     <version>1.2.30</version>
 </dependency>
JSON.parseObject(JSON.toJSONString(Map<String, ? extends Object>), Class<T> bean);

通過(guò)fastjson先將map轉(zhuǎn)換成json字符串,然后再將json字符串轉(zhuǎn)換成實(shí)體類(lèi)。

方法二

<dependency>
    <groupId>commons-beanutils</groupId>
    <artifactId>commons-beanutils</artifactId>
    <version>1.9.3</version>
</dependency>
BeanUtils.populate(Object bean, Map<String, ? extends Object> map)

這個(gè)方法會(huì)遍歷map<key, value>中的key,如果bean中有這個(gè)屬性,就把這個(gè)key對(duì)應(yīng)的value值賦給bean的屬性。

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

相關(guān)文章

  • RocketMq同組消費(fèi)者如何自動(dòng)設(shè)置InstanceName

    RocketMq同組消費(fèi)者如何自動(dòng)設(shè)置InstanceName

    這篇文章主要介紹了RocketMq同組消費(fèi)者如何自動(dòng)設(shè)置InstanceName問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • Nginx啟用壓縮及開(kāi)啟gzip 壓縮的方法

    Nginx啟用壓縮及開(kāi)啟gzip 壓縮的方法

    這篇文章主要介紹了Nginx啟用壓縮及開(kāi)啟gzip 壓縮的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-08-08
  • 詳解Java Proxy動(dòng)態(tài)代理機(jī)制

    詳解Java Proxy動(dòng)態(tài)代理機(jī)制

    今天給大家?guī)?lái)的是關(guān)于Java的相關(guān)知識(shí),文章圍繞著Java動(dòng)態(tài)代理機(jī)制展開(kāi),文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下
    2021-06-06
  • 三分鐘帶你掌握J(rèn)ava開(kāi)發(fā)圖片驗(yàn)證碼功能方法

    三分鐘帶你掌握J(rèn)ava開(kāi)發(fā)圖片驗(yàn)證碼功能方法

    這篇文章主要來(lái)為大家詳細(xì)介紹Java實(shí)現(xiàn)開(kāi)發(fā)圖片驗(yàn)證碼的具體方法,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下
    2023-02-02
  • JVM內(nèi)存模型知識(shí)點(diǎn)總結(jié)

    JVM內(nèi)存模型知識(shí)點(diǎn)總結(jié)

    在本篇文章里小編給大家分享了關(guān)于JVM內(nèi)存模型的學(xué)習(xí)心得以及相關(guān)知識(shí)點(diǎn)總結(jié),有興趣的朋友們跟著學(xué)習(xí)下。
    2019-05-05
  • 打包部署若依(RuoYi)SpringBoot后端和Vue前端圖文教程

    打包部署若依(RuoYi)SpringBoot后端和Vue前端圖文教程

    若依是一個(gè)使用Spring Boot作為后端和Vue.js作為前端的全棧應(yīng)用開(kāi)發(fā)平臺(tái),下面這篇文章主要給大家介紹了關(guān)于打包部署若依(RuoYi)SpringBoot后端和Vue前端的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • java編程基礎(chǔ)之模仿用戶(hù)登錄代碼分享

    java編程基礎(chǔ)之模仿用戶(hù)登錄代碼分享

    這篇文章主要介紹了java編程基礎(chǔ)之模仿用戶(hù)登錄代碼分享,小編覺(jué)得挺不錯(cuò)的,這里分享給大家,供需要的朋友參考。
    2017-10-10
  • easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼

    easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼

    這篇文章主要介紹了easyexcel讀取excel合并單元格數(shù)據(jù)的操作代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • Java Lambda表達(dá)式詳解

    Java Lambda表達(dá)式詳解

    這篇文章主要介紹了Java Lambda表達(dá)式詳解,包括了Java Lambda表達(dá)式創(chuàng)建線程,Java Lambda表達(dá)式的語(yǔ)法,Java lambda遍歷List集合,Java lambda過(guò)濾String需要的朋友可以參考下
    2023-02-02
  • Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例

    Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例

    數(shù)據(jù)庫(kù)中經(jīng)常有create_time,update_time兩個(gè)字段,在代碼中設(shè)置時(shí)間有點(diǎn)太麻煩了?mybatis-plus可以幫我們自動(dòng)填充,本文主要介紹了Mybatis-Plus使用@TableField實(shí)現(xiàn)自動(dòng)填充日期的代碼示例,感興趣的可以了解一下
    2022-04-04

最新評(píng)論