resultType="java.util.Map"
时间: 2024-04-25 22:25:26 浏览: 155
回答: 当设置resultType为"java.util.Map"时,查询结果会以Map的形式返回。然而,需要注意的是,如果查询出来的字段值为空(包括别名),MyBatis不会将其映射到Map对象中,也就是说Map对象不会包含值为null的属性。为了解决这个问题,你可以使用Mysql中的ifnull函数或者Oracle中的nvl函数来处理空值。使用resultType为"java.util.Map"的方法有几个优势:首先,你可以在多表关联中不需要配置对应的关系,直接编写SQL语句;其次,你可以直接获取返回的属性值,避免了大量返回值为null的情况;还可以减少实体类的创建,不需要创建DO、VO、DTO等实体类;最后,在关联对象时,返回值无需进行去空或重新封装数据的操作。
#### 引用[.reference_title]
- *1* [resultType=java.util.Map的存储原理](https://blog.csdn.net/weixin_73757147/article/details/130732670)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [Mybatis---定义ResultType="java.util.Map"问题](https://blog.csdn.net/lei_1994/article/details/80559357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文