Mybatis-Plus中的查詢指定字段
Mybatis-Plus查詢指定字段
select word from addition;
public void test3(){ LambdaQueryWrapper<Addition> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.select(Addition::getWord); //方法一:通過stream流操作 List<String> list = additonService.list(queryWrapper).stream().map(Addition::getWord).collect(Collectors.toList()); //方式二:listObjs List<Object> list1 = additionService.listObjs(queryWrapper); }
- 方法一查詢時(shí)執(zhí)行的SQL語句為:
select * from addition;
- 方法二執(zhí)行的SQL語句為:效率更高。
select word from addition;
Mybatis-Plus只查詢部分字段的三種方法
方法1
只需要查詢出name和phone兩個(gè)字段:使用queryWrapper的select()方法指定要查詢的字段
public void selectByWrapper1() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.select("name", "phone").eq("age",25); List<User> users = userMapper.selectList(queryWrapper); users.forEach(System.out::println); }
這種方法會(huì)造成除“name”之外的字段的值為null
方法2
查詢出除age和address外其它所有字段的數(shù)據(jù):同樣使用queryWrapper的select()方法
public void selectByWrapper2() { QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.select(User.class, info -> !info.getColumn().equals("age") && !info.getColumn().equals("address")).eq("name","jack"); List<User> users = userMapper.selectList(queryWrapper); users.forEach(System.out::println); }
這種方法會(huì)造成除“age”"address"的字段的值為null
方法3
selectMaps
public void selectMaps2(){ QueryWrapper<User> userQueryWrapper = Wrappers.query(); userQueryWrapper.select("avg(age) avg_age" , "min(age) min_age" , "max(age) max_age") .groupBy("age") .having("sum(age) < {0}" , 60); List<Map<String , Object>> mapList = userMapper.selectMaps(userQueryWrapper); mapList.forEach(System.out::println); }
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java使用Jsoup連接網(wǎng)站超時(shí)的解決方法
jsoup是一個(gè)非常好的解析網(wǎng)頁的包,用java開發(fā)的,提供了類似DOM,CSS選擇器的方式來查找和提取文檔中的內(nèi)容,提取文檔內(nèi)容時(shí)會(huì)出現(xiàn)超時(shí)的情況,解決方法可看下文2013-11-11java 實(shí)現(xiàn)約瑟夫環(huán)的實(shí)例代碼
這一次是借鑒模仿別人寫的代碼,以前覺得不好將數(shù)據(jù)結(jié)構(gòu)的鏈結(jié)構(gòu)什么的遷移到j(luò)ava上來使用,但這一次確實(shí)讓我感受到了可以自己構(gòu)造數(shù)據(jù)結(jié)構(gòu),然后使用類似鏈的方式來解決約瑟夫環(huán),有所頓悟。不多說,繼續(xù)上代碼2013-10-10DoytoQuery中關(guān)于N+1查詢問題解決方案詳解
這篇文章主要為大家介紹了DoytoQuery中關(guān)于N+1查詢問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12java 使用HttpURLConnection發(fā)送數(shù)據(jù)簡單實(shí)例
這篇文章主要介紹了java 使用HttpURLConnection發(fā)送數(shù)據(jù)簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-06-06IDEA的Terminal無法執(zhí)行g(shù)it命令問題
這篇文章主要介紹了IDEA的Terminal無法執(zhí)行g(shù)it命令問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09被遺忘的Java關(guān)鍵字transient的使用詳解
在 Java 中,transient 是一個(gè)關(guān)鍵字,用于指定一個(gè)類的字段(成員變量)在序列化時(shí)應(yīng)該被忽略。本文將通過示例為大家簡單講講transient的使用,需要的可以參考一下2023-04-04IDEA搭建多模塊的Maven項(xiàng)目方式(相互依賴)
這篇文章主要介紹了IDEA搭建多模塊的Maven項(xiàng)目方式(相互依賴),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08