Mybatis:注解@MapKey的使用详解

发布于 2021-10-08  1120 次阅读


MyBatis查询一些记录,数据涉及到两个表里的数据,需要连表查询,但我MyBatis的返回结果不想创建新的DO对象,因此使用@MapKey注解返回一个Map集合。


含义:@MapKey注解用于mapper.xml文件中,一般用于查询多条记录中各个字段的结果,存储在Map中。Map结构的示例如下:

Map<Long, Map<String, String>>。范型类型可以修改。
Map的key:一般存储每条记录的主键,也可以用其他值表示,主要取决于Dao层@MapKey注解后面的字段(如@MapKey("id"));
Map的value:也是一个Map,表示查询出这条记录的每个字段的字段名称和字段值。

结果:

  1. 查询,返回结果:{1={area:上海,companyName=西西公司}}
  2. 如果是多条记录,返回结果如:{1={area:上海,companyName:西西公司},2={area:南京,compantyName:猴猴公司}}

其实一般我们都会使用List<Map<String String>>方式接收


欢迎欢迎~热烈欢迎~