MyBatis-Plus_查询返回实体对象还是map?
生活随笔
收集整理的這篇文章主要介紹了
MyBatis-Plus_查询返回实体对象还是map?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在常見場景下:返回數據建議使用map,不建議使用實體對象
/*** 1. 名字包含雨并且年齡小于40* sql:name like '%雨%' and age < 40* <p>* 應用場景:* 當表字段非常多,但是你只需要查詢少數幾列,* 沒必要返回的泛型為實體的list,如果返回的泛型為實體,絕大多字段都是null,這樣做不優雅* 用返回泛型為map建議使用*/@Testpublic void selectByWrapperMaps() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.like("name", "雨").lt("age", 40);//建議使用List<Map<String, Object>> userList = userMapper.selectMaps(queryWrapper);//不建議使用 // List<User> userList = userMapper.selectList(queryWrapper);userList.forEach(System.out::println);}/*sql形式:SELECT id,name,age,email,manager_id,create_time FROM user WHERE name LIKE ? AND age < ?*/ /*** 按照直屬上級分組,查詢每組的平均年齡。最大年齡、最小年齡。* 并且只取年齡總和小于500的組* select avg(age) avg_age,min(age) min_age,max(age) max_age from user* group by manager_id* having sum(age) < 500 ;*/@Testpublic void selectByWrapperMaps2() {QueryWrapper<User> queryWrapper = new QueryWrapper<>();queryWrapper.select("avg(age) avg_age", "min(age) min_age", "max(age) max_age").groupBy("manager_id").having("sum(age) < {0}", 500);List<Map<String, Object>> userList = userMapper.selectMaps(queryWrapper);userList.forEach(System.out::println); // sql形式:SELECT avg(age) avg_age,min(age) min_age,max(age) max_age FROM user // GROUP BY manager_id HAVING sum(age) < ? }想學習更多微服務、分布式、中間件、數據庫、項目快速構建等系列技術
請訪問http://gblfy.com
讓我們一起進步!!!
總結
以上是生活随笔為你收集整理的MyBatis-Plus_查询返回实体对象还是map?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA 搭建 SpringBoot +
- 下一篇: 企业实战03:Oracle数据库_用户和