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);
}- 方法一查詢時執(zhí)行的SQL語句為:
select * from addition;
- 方法二執(zhí)行的SQL語句為:效率更高。
select word from addition;
Mybatis-Plus只查詢部分字段的三種方法
方法1
只需要查詢出name和phone兩個字段:使用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);
}這種方法會造成除“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);
}這種方法會造成除“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é)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
DoytoQuery中關(guān)于N+1查詢問題解決方案詳解
這篇文章主要為大家介紹了DoytoQuery中關(guān)于N+1查詢問題解決方案詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
java 使用HttpURLConnection發(fā)送數(shù)據(jù)簡單實例
這篇文章主要介紹了java 使用HttpURLConnection發(fā)送數(shù)據(jù)簡單實例的相關(guān)資料,需要的朋友可以參考下2017-06-06
IDEA的Terminal無法執(zhí)行g(shù)it命令問題
這篇文章主要介紹了IDEA的Terminal無法執(zhí)行g(shù)it命令問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
被遺忘的Java關(guān)鍵字transient的使用詳解
在 Java 中,transient 是一個關(guān)鍵字,用于指定一個類的字段(成員變量)在序列化時應(yīng)該被忽略。本文將通過示例為大家簡單講講transient的使用,需要的可以參考一下2023-04-04

