第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

其中的方法的使用

<V> V getObj(Wrapper<T> queryWrapper, Function<? super Object, V> mapper);

想問下這個方法怎么使用,搞不懂

正在回答

4 回答

? ? ? ?先簡單解釋一下。getObj方法內(nèi)部又調(diào)用了listObjs。listObjs返回一個list,如果有元素的話,只取第一個,沒有元素的話,返回null。第二個參數(shù)是一個Function函數(shù)式接口。就是你不想返回實體了,想返回一個自定義類型對象或其他類型對象,你要進(jìn)行轉(zhuǎn)換。

看源碼,你就明白啦,給你show一下源碼

ServiceImpl類
@Override
public?<V>?V?getObj(Wrapper<T>?queryWrapper,?Function<??super?Object,?V>?mapper)?{
????return?SqlHelper.getObject(log,?listObjs(queryWrapper,?mapper));
}
SqlHelper類
/**
?*?從list中取第一條數(shù)據(jù)返回對應(yīng)List中泛型的單個結(jié)果
?*
?*?@param?list?ignore
?*?@param?<E>??ignore
?*?@return?ignore
?*/
public?static?<E>?E?getObject(Log?log,?List<E>?list)?{
????if?(CollectionUtils.isNotEmpty(list))?{
????????int?size?=?list.size();
????????if?(size?>?1)?{
????????????log.warn(String.format("Warn:?execute?Method?There?are??%s?results.",?size));
????????}
????????return?list.get(0);
????}
????return?null;
}
ServiceImpl類
@Override
public?<V>?List<V>?listObjs(Wrapper<T>?queryWrapper,?Function<??super?Object,?V>?mapper)?{
????return?baseMapper.selectObjs(queryWrapper).stream().filter(Objects::nonNull).map(mapper).collect(Collectors.toList());
}


0 回復(fù) 有任何疑惑可以回復(fù)我~
@Test
public?void?getOneTest04()?{
????queryWrapper.ge("emp_age",?18);
????boolean?b?=?employeeService.getObj(queryWrapper,?(m)?->?{
????????Employee?employee?=?employeeService.getById((Long)m);
????????employee.setEmpPhone("-----");
????????boolean?flag?=?employeeService.updateById(employee);
????????return?flag;
????});
????System.out.println(b);
}

這個大概懂了,就是不知道為什么那個 m 參數(shù)是 id集合中的當(dāng)前id,而不是一個 Employee集合。

然后就是傳入 wrapper 條件構(gòu)造器之后,為什么就直接會有一個 id集合返回---? 哈哈哈 我還是個學(xué)生,問題就是多哦,,老師?

1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

老猿

其實我也不理解,按常理來說,m參數(shù)應(yīng)該是實體類,而實際測試結(jié)果它是主鍵。我也很費(fèi)解作者為什么這么設(shè)計。
2019-12-26 回復(fù) 有任何疑惑可以回復(fù)我~
#2

想好好學(xué)習(xí)的懶人 提問者

謝謝指導(dǎo)
2019-12-27 回復(fù) 有任何疑惑可以回復(fù)我~
#3

amllng 回復(fù) 老猿

真搞不懂,返回主鍵是搞什么,如果想要對應(yīng)實體的其他屬性,難道真的要在里邊再查詢一遍數(shù)據(jù)庫,然后取相應(yīng)的值嗎,那我還不如自己寫sql去實現(xiàn),還減少查詢。
2020-04-02 回復(fù) 有任何疑惑可以回復(fù)我~
#4

a12345531

selectObjs(queryWrapper) 只返回第一個字段的值,所以后面mapper只能拿到第一個字段的值
2022-07-14 回復(fù) 有任何疑惑可以回復(fù)我~
查看1條回復(fù)

能舉個栗子不..

0 回復(fù) 有任何疑惑可以回復(fù)我~

就是后面的那個函數(shù)式接口不會傳參?對8的特性理解不夠

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

其中的方法的使用

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號